RE: Problems trying to build gtk in Windows

2008-11-12 Thread Ian Puleston
> > /bin/sh: ./gtk-update-icon-cache: Bad file number

This one came down to Vista's User Access Control. gtk-update-icon-cache is
doing something that worries Vista (if I try to run it directly from a
Windows command prompt, Vista pops up a "An unidentified program wants to
access your computer" cancel/allow prompt). So for make to be able to run
it, requires running make in an msys shell window that was opened using "Run
as administrator".

Ian




___
gtk-list mailing list
gtk-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-list


Re: Problems trying to build gtk in Windows

2008-11-12 Thread Tor Lillqvist
> grep: invalid option -- o

> 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?

Good catch! I wouldn't have remembered this issue at all. I have my
gnuwin32 bin folder before the MSYS /bin in PATH, and in there is the
gnuwin32 grep which is version 2.5.1. So I suggest you do the same. Go
to gnuwin32.sourceforge.net and get their grep package. Note that not
all of the stuff gnuwin32 provides is useful or "correctly ported",
but their grep package should be OK.

(Personally I keep gnuwin32 stuff under /opt/gnuwin32, but it can of
course be anything. Obviously, avoid spaces though, and it's best IMHO
to keep it in a folder of its own and not mix it into the MSYS or
MinGW tree.)

--tml
___
gtk-list mailing list
gtk-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-list


RE: Problems trying to build gtk in Windows

2008-11-11 Thread Ian Puleston
> -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.
: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



___
gtk-list mailing list
gtk-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-list


Re: Problems trying to build gtk in Windows

2008-11-11 Thread Tor Lillqvist
> Next I ran make. It ran for a while then stopped at this line of output with
> Windows reporting "This application has failed to start because
> libglib-2.0-0.dll was not found":

> I have my GTK installation bin directory on the PATH in both the msys and
> Windows environments, and libglib-2.0-0.dll is in there, so I don't see why
> it can't find that DLL?

Me neither. You need to figure out the root cause for this first,
instead of doing this:

> I had to manually copy all the dlls from GTK/bin into the
> gdk-pixbuf source directory

which is not a good idea, you are just sweeiping the problem under the rug.

> /c/Users/Ian/Downloads/GTK/win32-src/gtk+-2.14.4/gtk/.libs/gtk-update-icon-cache.exe:
>  Bad file number
> ./gtk-update-icon-cache: line 104:

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. This might help. I
have been doing this for so long that I can't remember any more what
the exact reason was why I started doing it, though...

> gcc -DGDK_PIXBUF_DISABLE_DEPRECATED -g -O2 -Wall -mms-bitfields -o 
> .libs/gtk-update-icon-cache.exe

Note here that as libtool is using wrappers, the .exe that is being
created is .libs/gtk-update-icon-cache.exe. The gtk-update-icon-cache
in the folder itself is a shell script. There shouldn't be any
gtk-update-icon-cache.exe in the folder in this case, I think.

--tml
___
gtk-list mailing list
gtk-list@gnome.org
http://mail.gnome.org/mailman/listinfo/gtk-list