GTK+ 2.8 notes


I'm building the latest released developers version of gimp (2.3.4 – part of the pre-2.4 series). This requires gtk+ 2.6 but I think I recently heard Sven saying that there is already a 2.8 requirement in cvs. So I grabbed GTK+ 2.8 and friends to build prior to building GIMP.

The first new thing to note is that GTK+ 2.8 now has a new prerequisite package: cairo. This is an interesting package (which I'll try to dig into someday and write about) that is easy to build and install. I first build glib, then cairo, then pango, atk and GTK+. This order is important. Cairo has to be built before pango so pango can create a cairo backend. And atk sits atop pango. So get the order right.

There is a little trick to building a developer version. First create a directory in which all this will be installed:
mkdir /usr/local/gimp-2.4
Make sure you have write access to it, of course. Then build glib with
./configure –prefix=/usr/local/gimp-2.4
make
make install

Now comes the trick. To make sure you pick up all the right pkgconfig files for each new package you build, you need to do the following:
export PKG_CONFIG_PATH=/usr/local/gimp-2.4/lib/pkgconfig:$PKG_CONFIG_PATH
export LD_LIBRARY_PATH=/usr/local/gimp-2.4/lib:$LD_LIBRARY_PATH
export PATH=/usr/local/gimp-2.4/bin:$PATH

Then build each of the other packages with the same three steps used for glib. Once all those are done you should be able to build GIMP 2.3.4 as well. I noticed with this new version that some new libraries may also be needed. The one that might be of most interest is LittleCMS (aka lcms). The version that comes with fedora Core 3 doesn't apear to be up to date (even after doing a yum update) so GIMP won't build the color proof module. I guess I'll have to get an updated lcms library installed too. I'd like to see how all that color management stuff works, even if it is still in the early stages of release.