[GnomeMeeting-devel-list] README.mingw -- I feel the need for more eyeballs



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

== Pending questions ==
* the -Wl,-enable-auto-import -Wl,-enable-runtime-pseudo-reloc may help things a little so perhaps it would be a good idea to check if opal's linking doesn't
fail because the linker is preparing a HUGE list of warnings like this?
* should I add /c/GnuWin32/lib to PATH? Probably the answer is the same than
to "should GnuWin32's libpng be installed?" (I would say no)


== 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:/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
$ make opt
it will end with an error because there is no plugins directory, but that
doesn't hurt: we already have the lib.

WARNING: will not use openldap correctly for some reason: still investigating

Finally:
1. make a symlink from libpt_mingw_x86_r.dll to libpt.dll
2. make a symlink from  make/ptlib-config to bin/



** 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.
Run autoconf.
$ ./configure
$ make opt
Finally, make a symlink from libopal_mingw_x86_r.dll to 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 GNUWin32's libpng FIXME? NEEDED?

libpng-1.2.8-lib.zip

Extract in C:\GnuWin32
Symlink libpng13.dll.a to libpng13.dll (yes, ugly)


** Installing libxml2
libxml2-2.6.20.win32.zip

Unpack in a temporary directory then move bin/* to /mingw/bin/,
include/* to /mingw/include/ and lib/* to /mingw/lib (renaming all .lib to
.dll or the linker won't find them)

Copy libxml-2.0.pc from a GNU/Linux system to /mingw/lib/pkgconfig (yes, a
little ugly), removing the '-lz' from the libs.


** 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 --disable-gnome --disable-howl, to
get the needed portable configure script, and pixmap/Makefile. Go in pixmap/
and run make so the two needed headers are generated (FIXME: find out how to
make that work natively on win32/mingw).

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
$ make



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