RE: Problems trying to build gtk in Windows



> -----Original Message-----
> From: Tor Lillqvist
> Sent: Tuesday, November 11, 2008 1:04 AM
> 
> > make ran for a while then stopped with
> > Windows reporting "This application has failed to start because
> > libglib-2.0-0.dll was not found": I don't see why
> > it can't find that DLL?
> 
> Me neither. You need to figure out the root cause for this first,

I managed to track that down once you'd told me that gtk-update-icon-cache
is actually a shell script. That script was itself trying to add GTK to the
path before running .libs/gtk-update-icon-cache.exe, but it was using DOS
file syntax and adding ":c:/GTK/GTK-2.14.4/lib:c:/GTK/GTK-2.14.4/bin: " to
the start of the path. Msys needs "/c/" instead of "c:/", so that was
screwing up the path, hence it couldn't find the GTK dlls.

> One thing I always do personally when building anything that uses
> libtool on Windows is to avoid the shell script wrappers in libtool.
> Edit ltmain.sh (the one from a tarball, or the one that is installed
> in whatever/share/libtool if you are building something from SVN) and
> change the line
>   need_relink=yes
> to
>   need_relink=no
> 
> Then libtool will try to build exe files directly in each folder, not
> into the .libs folder with a wrapper shell script. 

I don't have libtool installed anywhere, but ltmain.sh comes in the gtk
source tarball. I found two instances of need_relink=yes in it and changed
them both to no. That got rid of the above problem but not this one:

> /bin/sh: ./gtk-update-icon-cache: Bad file number

However, not sure if this is relevant to that, but just before hitting it
(right before printing "make gtk-update-icon-cache.exe") I noticed the
following was reported but did not immediately stop the make:

          gcc -E ... xgen-gtfsrc.c | \
          grep -o '\bg[td]k_[a-zA-Z0-9_]*_get_type\b' | \
          sort | uniq | \
          sed '{ s/^/*tp++ = /; s/$/();/; }' > xgen-gtf \
        && cp xgen-gtf gtktypefuncs.c && rm -f xgen-gtf
grep: invalid option -- o
Usage: grep [OPTION]... PATTERN [FILE]...
Try `grep --help' for more information.
<built-in>:0: fatal error: when writing output to : Invalid argument
compilation terminated.

It would appear that -o (--only-matching) is a new option in grep 2.5, but
is not supported by grep 2.4.2 which is what comes with msys. So, is there a
grep 2.5 available for msys? If not what do you use when you build gtk for
Windows?

Ian





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