[GnomeMeeting-devel-list] README.mingw (yet another update)



Hi,

less patches have to be applied to opal and gnomemeeting.

Things are taking shape : I made audio calls successfully.

I'll need to remove everything and re-run README.mingw from scratch to check it is still always accurate.

Snark
***** NOTICE: this is a work in progress ; it is nowhere near usable yet! *****

== Useful links ==
* http://www.mingw.org
* http://gnuwin32.sourceforge.net
* http://sourceware.org/pthreads-win32
* http://www.sleepycat.com/products/db.shtml
* http://www.openldap.org
* http://www.openh323.org/cvs.html
* http://snapshots.seconix.com
* http://www.gimp.org/~tml/gimp/win32/downloads.html
* http://xmlsoft.org/downloads.html
* http://www.activestate.com/Products/ActivePerl/

== Recipe ==

** Installing Mingw:
MinGW-4.1.1.exe
in C:\MinGW  (default)
Current's full install


** Installing MSYS:
MSYS-1.0.10.exe
in C:\msys\1.0  (default)


** Installing msysDTK
msysDTK-1.0.1.exe
in c:\msys\1.0  (default)


** Checking the environment
Put in hello.c:
#include <stdio.h>
int
main (int argc, char *argv[])
{
  printf ("Hello\n");
  return 0;
}

then:
$ gcc hello.c
$./a.exe
Hello


** Installing MinGW's bison
bison-2.0-MSYS.tar.gz
(tar xzf in /usr to match)


** Installing GnuWin32's flex
flex-2.5.4a-1.exe
in C:\GnuWin32 (NOT default)


** Installing pthreads-win32
pthreads-2005-03-08.exe
Extract in a temp dir, then from the Pre-build/ directory:
- copy include/* to /c/MinGW/include
- copy lib/libpthreadGC1.a to /c/MinGW/lib/libpthread.a
- copy lib/pthreadGC1.dll to /c/MinGW/lib/pthread.dll
remove the temp dir ; it's useless


** Setting up the environment
Put in .profile:
export PATH=$PATH:/mingw/lib:/c/GnuWin32/bin:$HOME/pwlib/lib:$HOME/opal/lib
export OCVSROOT=-d:pserver:anonymous cvs sourceforge net:/cvsroot/openh323
export GCVSROOT=-d:pserver:anonymous anoncvs gnome org:/cvs/gnome

(needs relaunching msys to apply)


** Installing GNU's regex
regex-0.12.tar.gz
./configure
make

it will fail in the docs ; no problem:
$ ar ru libregex.a regex.o
$ cp regex.h /mingw/include
$ cp libregex.a /mingw/lib


** Installing sleepycat's Berkeley DB
db-4.3.28.tar.gz
go in the build_unix directory then:
$ ../dist/configure --enable-mingw --prefix=/mingw
$ make
$ make install


** Installing OpenLDAP
openldap-2.3.6.tgz
$ configure --with-cyrus-sasl=no --prefix=/c/MinGW
$ make depend
$ cd libraries
$ make
it will fail, but running 'make install' in liblber, libldap and libldap_r is
enough to get the libs.
Go into the include directory and run 'make install' there too.


** Installing pwlib's cvs
$ cvs $OCVSROOT login
$ cvs $OCVSROOT -z3 co ptlib_unix
$ mv pwlib ptlib_unix
$ cvs $OCVSROOT -z3 co ptlib_win32
$ mv pwlib ptlib_win32


** Compiling pwlib
Get the patches from sourceforge's patch tracker, and uncompress them.
$ ./prepare_for_mingw
$ cd pwlib
$ autoconf
$ ./configure --disable-qos --enable-openldap --disable-sasl --enable-video --enable-plugins

FIXME: make sure vfw.cxx isn't compiled by src/ptlib/msos/Makefile ; that thing
is not compilable on mingw yet (will probably hurt sometime in the future, but
well...)

$ make opt

Finally:
1. make a symlink from libpt_mingw_x86_r.dll to libpt.dll
2. make a symlink from  make/ptlib-config to bin/
3. edit make/ptbuildopts.mak and add "-lpt" to the ENDLDLIBS line (or opal
won't be linked with pwlib, and hence linking will fail -- FIXME!)


** checking the lib is usable
$ cd samples/hello_world
$ make opt
$ ./obj_mingw_x86_r/hello.exe
Hello world!


** Compiling opal

Get from cvs.
Remove configure.exe and configure.
$ autoconf.
$ ./configure
$ make opt
Finally, make a symlink from lib/libopal_mingw_x86_r.dll to lib/libopal.dll


** Installing gtk+ (and dependancies)
glib-2.6.6.zip
glib-2.6.6-dev.zip
gtk+-2.6.9.zip
gtk+-dev-2.6.9.zip
pango-1.8.2.zip
pango-dev-1.8.2.zip
atk-1.9.0.zip
atk-dev-1.9.0.zip
pkg-config-0.15.zip
libiconv-1.9.1.bin.woe32.zip
gettext-runtime-0.13.1.zip
gettext-tools-0.13.1.zip

Extract them all in C:\MinGW


** Testing gtk+
Get the sources of hello.c here:
http://www.gtk.org/tutorial/c58.html#SEC-HELLOWORLD
Then compile :
$ gcc -mms-bitfields -o hello.exe hello.c `pkg-config --cflags gtk+-2.0` `pkg-config --libs gtk+-2.0`
$ ./hello.exe


** Installing zlib
zlib-1.2.3.tar.gz

$ ./configure --prefix=/mingw
$ make
$ make install

(neat!)

** Installing wget
wget-1.9.1-mingwPORT.tar.bz2

wget.exe is in the archive (!) ; copy it in /mingw/bin

** Installing libpng
libpng-1.2.8-mingwPORT.tar.bz2
libpng-1.2.8.tar.bz2
Untar both in the same directory, go there and do:
$ patch -p1 < mingwPORT/mingwPORT.patch
(the rest of the files of mingwPORT is pure crap IMNSHO)
edit scripts/makefile.mingw and:
- replace -lzdll by -lz everywhere
- replace the libpng12 by libpng13
$ make -f scripts/makefile.mingw
$ cp libpng13.dll /mingw/lib

** Installing libxml2
libxml2-2.6.21.tar.gz

$ ./configure --prefix=/c/MinGW --with-threads=no
$ make
$ make install


** Installing ActivePerl

ActivePerl-5.8.7.813-MSWin32-x86-148120.zip
(It seems it is needed to get XML::Parser...)

Install in some directory, then move the perl/ directory in /c.
Modify the .profile and add /c/perl/bin at the beginning of the PATH (yes,
ugly...).


** Compiling gnomemeeting

First of all, you must get the opal branch of cvs (cvs co -r opal gnomemeeting)
on a GNU/Linux system, then run ./autogen.sh -no-configure, to
get the needed portable configure script.

Compress the gnomemeeting tree, move the archive to the win32 box and untar
it to get /home/XXX/gnomemeeting, then:
$ ./configure --disable-gnome --with-pwlib-dir=/home/XXX/pwlib --with-opal-dir=/home/XXX/opal --with-ldap-dir=/mingw --disable-howl --prefix=/c/MinGW
$ make

It should now compile and link. Running is another story ;-)


[Date Prev][Date Next]   [Thread Prev][Thread Next]   [Thread Index] [Date Index] [Author Index]