Re: compile failure on OS X



On Sep 9, 2010, at 2:14 PM, Kevin Krieser wrote:

> I'm trying to build GTK from source using the native 64 bit compiler on Snow Leopard (4.2.1) without much success.
> 
> I get through the following packages:
> pkg-config-0.25
> libiconv-1.13.1
> gettext-0.18.1.1
> glib-2.25.10
> libpng-1.4.3
> jpeg-8b
> atk-1.30.0
> tiff-3.9.4
> gdk-pixbuf-2.21.5
> pixman-0.18.2
> fontconfig-2.8.0
> pango-1.28.1
> gtk+-2.21.7
> 
> I compile the packages above with just a small patch in glib-2.25.10, then when I get to gtk+, I have errors in updateiconcache and xgen-gtfsrc.c where it can't find some glib include files.  Such as:
> 
> 
> Making all in gtk
> echo '#include <gtk/gtk.h>' > xgen-gtfsrc.c && \
>          gcc -E -DHAVE_CONFIG_H -DG_LOG_DOMAIN=\"Gtk\" -DGTK_LIBDIR=\"/usr/local/gtk/lib\" -DGTK_DATADIR=\"/usr/local/gtk/share\" -DGTK_DATA_PREFIX=\"/usr/local/gtk\" -DGTK_SYSCONFDIR=\"/usr/local/gtk/etc\" -DGTK_VERSION=\"2.21.7\" -DGTK_BINARY_VERSION=\"2.10.0\" -DGTK_HOST=\"x86_64-apple-darwin10.4.0\" -DGTK_COMPILATION -DGTK_PRINT_BACKENDS=\"file,cups\" -DGTK_PRINT_PREVIEW_COMMAND=\""evince --unlink-tempfile --preview --print-settings %s %f"\" -I.. -I../gtk -I.. -I../gdk -I../gdk -DGDK_DISABLE_DEPRECATED -DGTK_DISABLE_DEPRECATED -DGTK_FILE_SYSTEM_ENABLE_UNSUPPORTED -DGTK_PRINT_BACKEND_ENABLE_UNSUPPORTED -DG_ENABLE_DEBUG -DG_ERRORCHECK_MUTEXES    -DGTK_ENABLE_BROKEN  -I/usr/local/gtk/include -m64 -DG_DISABLE_SINGLE_INCLUDES -DATK_DISABLE_SINGLE_INCLUDES -DGDK_PIXBUF_DISABLE_SINGLE_INCLUDES -DGTK_DISABLE_SINGLE_INCLUDES   -DGDK_PIXBUF_DISABLE_DEPRECATED -DG_DISABLE_DEPRECATED -I/usr/local/gtk/include -m64 -I/usr/local/gtk/include/glib-2.0 -Wall 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
> In file included from /usr/local/gtk/include/glib-2.0/glib/galloca.h:34,
>                 from /usr/local/gtk/include/glib-2.0/glib.h:32,
>                 from /usr/local/gtk/include/glib-2.0/gobject/gbinding.h:30,
>                 from /usr/local/gtk/include/glib-2.0/glib-object.h:25,
>                 from /usr/local/gtk/include/glib-2.0/gio/gioenums.h:30,
>                 from /usr/local/gtk/include/glib-2.0/gio/giotypes.h:30,
>                 from /usr/local/gtk/include/glib-2.0/gio/gio.h:28,
>                 from ../gdk/gdkapplaunchcontext.h:30,
>                 from ../gdk/gdk.h:32,
>                 from ../gtk/gtk.h:32,
>                 from xgen-gtfsrc.c:1:
> /usr/local/gtk/include/glib-2.0/glib/gtypes.h:34:24: error: glibconfig.h: No such file or directory
> /usr/local/gtk/include/glib-2.0/glib/gtypes.h:415:2: error: #error unknown ENDIAN type
> In file included from ../gdk/gdkapplaunchcontext.h:31,
>                 from ../gdk/gdk.h:32,
> 
> 
> Then a whole bunch of similar errors when trying to compile updateiconcache.c.
> 
> I am building everything into /usr/local/gtk/ to keep it separate from other packages in the system.
> 
> My intent was to build GTK with the GNAT GPL 2010 Ada/C compiler so I could work with GtkAda, which I have previously used under Linux and Windows.   I then tried it under the native GCC compiler in 64 bit mode (-m64) to see whether it was the compiler.   The rush is not there anymore, since I found a recent build of 2.18.5 on the internet that appears to be working with the compiler, but it would be nice to figure out where I might be going wrong in case I want to try a more recent GTK build.  Like 2.21:)
> 
> For each of the above, I essentially extract the tar file, do a ./configure --prefix=/usr/local/gtk, make, make install.   I used the following variables:
> 
> 
> PATH=/usr/bin:/usr/local/gtk/bin:$PATH
> PKG_CONFIG_PATH="/usr/local/gtk/lib/pkgconfig"
> CFLAGS="-I/usr/local/gtk/include -m64 -I/usr/local/gtk/include/glib-2.0"
> CPPFLAGS="-I/usr/local/gtk/include -m64"
> LDFLAGS="-L/usr/local/gtk/lib"
> export CPPFLAGS LDFLAGS PKG_CONFIG_PATH

Hi, Kevin.

I recommend that you try http://gtkosx.sourceforge.net/. It takes most of the pain out of building Gtk+ on a Mac.

Your immediate problem is that you're not passing -I/usr/local/gtk/lib/glib-2.0/include in CFLAGS, and that's where glibconfig.h is.

Regards
John Ralls



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