Re: [gtkmm] Compilation problems on win32



Hi Jussi,

At 11:55 AM 11/6/2002 -0800, Jussi Pakkanen wrote:
Hi

I'm trying to compile gtkmm2 on Windows. I use Cygwin
with Mingw, and have mingw in the path before Cygwin's
tools.

Libsigc compiled and installed nicely. Gtkmm is giving
me trouble. Configure passes, but make breaks with
this:

extracting exported symbol list from
`libsigc-1.2-5.dll'
test -f .libs/impgen.c || \
      sed -e "/^# \/\* impgen\.c starts here \*\//,/^#
\/\* impgen.c ends
here \
*\// { s/^# //;s/^# *$//; p; }" -e d < ../../libtool >
.libs/impgen.c
      test -f .libs/impgen.exe || (cd .libs && \
      if test "x" != "x" ; then  -o impgen impgen.c ;
\
      else gcc -o impgen impgen.c ; fi)
      .libs/impgen /usr/local/lib/libsigc-1.2-5.dll >
.libs/libsigc-1.2-5.dll-def

make[3]: *** [libgtkmm_generate_extra_defs-2.0.la]
Error 1

This might be related to to impgen bug that was reported on the libtool-devel mailing list a few months but hasn't made its way to the stable branch yet. See http://bugzilla.gnome.org/show_bug.cgi?id=91033 for details.

Another thing is that I had to move some mingw's
binaries, such as ld.exe and dlltool.exe, away from
the search path. Only cygwin's tools worked. I had
this same problem compiling gtkmm 1.2. Is this a bug,
feature or something else?

Don't do this. I never never never mix the binutils or gcc tools from cygwin and mingw. I use cygwin for its bash, make, perl, m4, vi and that's all. I don't use the autotools (automake, autoconf, libtool) from cygwin, either the stable or development branches. I have my own local copy of automake-1.6.1, autoconf-2.52 and libtool-1.4.3 that I compiled with mingw (when relevant).

Furthermore, I always make sure that the target directories have the same mount points on cygwin and on the windows file system. Example : C:\usr\local (not C:\cygwin\usr\local !!!) is mounted as /usr/local and C:\home\gustin is mounted as /home/gustin. Last point : never forget that mingw uses environment variables where paths are separated by ; while cygwin uses the unix syntax (with the :) ! If you don't pay attention, this cygwin/mingw interplay can quickly become a nightmare.

An alternative is to use gcc from cygwin with the -mno-cygwin (msvcrt runtime) option. I haven't tried that for a long time.

May I recommend you to try MSYS ? You can find it on the mingw page (http://www.mingw.org/).

You can also find my binaries at

http://www.pcpm.ucl.ac.be/~gustin/win32_ports/libsigc++-1.2.1-win32.tar.gz

and

http://www.pcpm.ucl.ac.be/~gustin/win32_ports/gtkmm-2.0.0-win32.tar.gz

They were compiled for mingw-2.0.0 (gcc-3.2)

A final comment : I just found a win32-related bug yesterday. When compiling gtkmm-2.0, you should enable maintainer-mode (--enable-maintainer-mode) in the configure script and delete wrap_init.cc in the gtk/gtkmm directory. This file contains references to gtk types that are not available in gtk+-2.0 for win32. wrap_init.cc will then be recreated with the proper gtk types. Of course, you won't have this problem if you're using the cvs version.

Cedric



__________________________________________________
Do you Yahoo!?
HotJobs - Search new jobs daily now
http://hotjobs.yahoo.com/
_______________________________________________
gtkmm-list mailing list
gtkmm-list gnome org
http://mail.gnome.org/mailman/listinfo/gtkmm-list

__________________________________________________
Modem offert : 150,92 euros remboursés sur le Pack eXtense de Wanadoo !
Haut débit à partir de 30 euros/mois : http://www.ifrance.com/_reloc/w




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