Trouble with GTK 2.4 Compile

c_junkie

Registered
Has anyone managed to get GTK 2.4 built from source? Glib builds fine, as does ATK (the versions from the 2.4 distribution of GTK at ftp://ftp.gtk.org/pub/gtk/v2.4/) Pango appears to build fine, but the GTK configure script fails because it can't find a sufficiently recent version of Pango (>=1.2). I built 1.2.5 out of the box, but I'd like to upgrade to 1.4.0. The library appears to install itself as version 1.4.0, albeit that it masquerades as 1.0...

/usr/local/lib:
% ls *pango*
libpango-1.0.0.399.1.dylib libpangox-1.0.0.399.1.dylib
libpango-1.0.0.dylib libpangox-1.0.0.dylib
libpango-1.0.dylib libpangox-1.0.dylib
libpango-1.0.la libpangox-1.0.la

pango:
1.4.0​

The package configuration data for the library says its version 1.4:

/usr/local/lib/pkgconfig/pango.pc:
prefix=/usr/local
exec_prefix=${prefix}
libdir=${exec_prefix}/lib
includedir=${prefix}/include

pango_module_version=1.4.0

Name: Pango
Description: Internationalized text handling
Version: 1.4.0
Requires: glib-2.0,gobject-2.0,gmodule-2.0
Libs: -L${libdir} -lpango-1.0
Cflags: -I${includedir}/pango-1.0​

Of course, the library configuration data in the above case seems to indicated that a) /usr/local/lib is in the search path for libraries, and b) that the -lpango-1.0 flag that applications should use to link against this lib SHOULD find the above versions of the libraries (note: 1.4 is binary compatible with 1.2, which I am pretty certain is bincomp with 1.0). Yet, GTK fails to configure, complaining:
gtk+-2.4.0/configure:
...
configure: error: Pango 1.2.0 and Xft backend is required for x11 target

It seems to me that the problem is in the gtk configure script. Has anybody encountered this and worked around it?

Matt
 
Just a quick question, have you set your paths correctly? You need to set the DYLD_LIBRARY_PATH to point to /usr/local/lib too if you're going to install libraries in /usr/lib

Hope that helps.
 
I'm pretty sure this isn't the issue: everything I've built that's linked against stuff in that library (such as GTK 2.2 and apps based on that) never complained about missing libs—at least not after I installed them.

I went ahead at set the environment variable, to "/usr/local/lib:/usr/lib" and no solution.

I'm fairly certain the problem is with the configure script. If you look at the package configuration file above, you'll see that it adds the /usr/local/lib to the lib path for the compile anyways. (Also, the DYLD_LIBRARY_PATH is for runtime linking of dynamic libs, isn't it?)

Thanks for the idea, didn't pan out though.

Matt
 
That's because it bombs out during the configure stage, and not during the compiling stage. Setting the DYLD_LIBRARY_PATH is important during the config stage, as the configure script looks for the library to determine its version. At least, that the impression I get so don't hold me to it :)

I don't know what else could be the problem. Maybe you should try using fink? http://fink.sourceforge.net
 
Yeah, I know fink, but fink is based on the debian system which from my linux experience is kind of kludgy. I'm waiting the the gentoo system to mature on OS X.

On another note, is anybody else interested in setting up an ENCAP style system for Mac OS X? http://www.encap.org/ Now that's what I call a great packaging system. When I get some free time, I'm going to start work on one.
 
Debian system is kludgy? Huh?

I've found Debian's apt and Gentoo's portage to be among the best packaging methods on Linux. They're about equivalent, only difference is Gentoo is source based and Debian's is binary. Because apt uses binaries, its normally quicker to set up stuff. Otherwise, I see no real difference.
 
Viro said:
Debian system is kludgy? Huh?

I've found Debian's apt and Gentoo's portage to be among the best packaging methods on Linux.

Gentoo's I agree wholeheartedly is best of breed. I've had problems with Debian's system on powermacs back in the day, and I've avoided it ever since. Its just my own personal neurosis. Its probably gotten better.
 
Back
Top