Re: compile failure on OS X
- From: John Ralls <jralls ceridwen us>
- To: Kevin Krieser <k_krieser sbcglobal net>
- Cc: gtk-devel-list gnome org
- Subject: Re: compile failure on OS X
- Date: Thu, 9 Sep 2010 14:58:09 -0700
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]