Re: Trouble Compiling GLib 2.6.2 on Win98

Benjamin wrote:
Jeffery To wrote:


I'm trying to compile GLib 2.6.2, as a prelude to compiling GTK+, on Windows 98 (I know, not a very good idea), and I'm running into this error:

if /bin/bash ../libtool --mode=compile gcc -mcpu=pentium3 -DHAVE_CONFIG_H -I. -I. -I.. -DG_LOG_DOMAIN=\"GLib-GObject\" -I.. -I../glib -I.. -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGOBJECT_COMPILATION -DG_DISABLE_CONST_RETURNS -I/local/include -O3 -mms-bitfields -Wall -MT gobject.lo -MD -MP -MF ".deps/gobject.Tpo" \
  -c -o gobject.lo `test -f 'gobject.c' || echo './'`gobject.c; \
then mv -f ".deps/gobject.Tpo" ".deps/gobject.Plo"; \
else rm -f ".deps/gobject.Tpo"; exit 1; \
gcc -mcpu=pentium3 -DHAVE_CONFIG_H -I. -I. -I.. -DG_LOG_DOMAIN=\"GLib-GObject\" -I.. -I../glib -I.. -DG_DISABLE_CAST_CHECKS -DG_DISABLE_DEPRECATED -DGOBJECT_COMPILATION -DG_DISABLE_CONST_RETURNS -I/local/include -O3 -mms-bitfields -Wall -MT gobject.lo -MD -MP -MF .deps/gobject.Tpo -c gobject.c -DDLL_EXPORT -DPIC -o .libs/gobject.o
gobject.c: In function `g_object_do_class_init':
gobject.c:262: `g_cclosure_marshal_VOID__PARAM' undeclared (first use in this function)
gobject.c:262: (Each undeclared identifier is reported only once
gobject.c:262: for each function it appears in.)
make[3]: *** [gobject.lo] Error 1
make[3]: Leaving directory `/local/src/glib-2.6.2/gobject'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/local/src/glib-2.6.2/gobject'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/local/src/glib-2.6.2'
make: *** [all] Error 2

I'm using gcc from MinGW in a Cygwin environment. Any help will be appreciated.

gtk-list mailing list
gtk-list gnome org

some files are generated automaticaly during the build process, i guess you have overwritten the ones that ship with the source-distribution (in this case gmarshal.c and cmarshal.h). one soulution might be to uncomment the related lines in glib/gobject/ and copy the files
from the source-distribution again

the same happens with other files. HINT: search all makefiles for perl and comment out the lines that are intend to generate any code (again: the files
that are generated do allready exist).

You were partially correct. My gmarshal.h and gmarshal.c were overwritten, but they're not generated by perl scripts.

gmarshal.h and gmarshal.c are generated by glib-genmarshal, a C program. More precisely, make builds glib-genmarshal.exe, copies it to .libs/, then generates gmarshal.h and gmarshal.c by calling the shell script glib-genmarshal, which calls .libs/glib-genmarshal.exe. configure sets up the makefile to use the shell script because I'm not cross-compiling and don't have an existing glib-genmarshal somewhere. The shell script sets up the correct environmental variables, etc. for glib-genmarshal.exe to work correctly.

That's what's suppose to happen, but after make copies glib-genmarshal.exe to .libs/, the original copy is still in gobject/, so in gobject/ is the shell script glib-genmarshal and glib-genmarshal.exe.

From <>:
"If a shell script myprog and a program myprog.exe coexist in a directory, the program has precedence and is selected for execution of myprog."

So when make goes to generate gmarshal.h and gmarshal.c, with the command "./glib-genmarshal ...", glib-genmarshal.exe is run instead of the shell script. glib-genmarshal.exe fails silently, and gmarshal.h and gmarshal.c aren't generated correctly.

My workaround, if you want things to turn out like how make should've done it: After exiting with the error, rename gobject/glib-genmarshal.exe to glib-genmarshal.exe.backup, follow the commands in the makefile to generate gmarshal.h and gmarshal.c (now using the shell script), rename glib-genmarshal.exe.backup back to glib-genmarshal.exe, then run make again.

(If you're having trouble running perl scripts, try ActivePerl <>. That's probably better than commenting out lines in makefiles.)

please drop me a line if you are successfull.

if you just want to 'use' gtk gdk etc. i strongly suggest to download the binary distributions from! due to some searching via google i even got themes (pixmap themes and others, it was not that easy to find a binary distribution) up and running.

You can also get binaries for win32 at Tor Lillqvist's GTK+ for Windows site <>, and Gaim <> also has standalone GTK+ runtime installers.

the only thing i'm still missing is a WORKING svg pixbuf loader.

mfg Benjamin


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