Compiling GNOME 2.15.90 (failed attempt)

I started trying to compile GNOME 2.15.4, but as you can read from the comments things didn’t quite work out. After a few emails on the gnome-love mailing list I switched to release 2.15.90.

###freetype2 I quickly ran into problems with freetype2. It seems Sid’s version is too new. I added a new moduleset to the regular ones I got off the GNOME site:

<?xml version="1.0"?>
  <tarball id="freetype2" version="2.1.9">
      md5sum="ec1b903e4be5f073caa72458ea58c29c" size="992394" />

I saved it as freetype2-2.15.90.modules. You need to add an include tag in gnome-2.15.90.modules and a dep tag on gontconfig in freedesktop-2.15.90.modules.

###gtk+ The next thing that failed was gtk+. It said Pango wasn’t built with support for Cairo. A look at config.log for Pango showed that Cairo wasn’t built with the Xrender backend and a look at Cairo’s config.log and output of ./configure --help showed that it inspected the system during configuration to see what backends it could build. (I have to say I really don’t like that sort of behaviour, I prefer it if all configuration options are explicit. Currently it’s trying to be smart but only ends up screwing the user.) I made sure libxrender-dev was installed and I put a link to /usr/lib/pkgconfig/xrender.pc in ${prefix}/lib/pkgconfig (not strictly necessary for Cairo but it seems the resulting cairo-xlib-xrender.pc depends on xrender.pc so I suspect compiling Pango might need it, no harm in having it there anyway, right?).

###dbus-glib Next dbus-glib failed. It’s a well-known problem and the patch is available. However, it seems it wasn’t applied properly by jhbuild and I still got an error saying that ${prefix}/var/run/system_bus_socket - file doesn't exist. Apply the patch manually, re-run jhbuild, answer no to all questions asked by patch (reversing, apply anyway), then skip the patch stage. That should do it for that package.

###firefox Well, that failed as well and I really can’t figure out why. It seems it doesn’t find my installed X libraries during linking. Very weird indeed. I learnt on IRC (#epiphany) that it probably is easier to use Debian’s libxul-dev package. After installing that, and setting PKG_CONFIG_PATH to include both $prefix/lib/pkgconfig and /usr/lib/pkgconfig (it’s better than linking files like I did earlier).

###epiphany This was the package I really wanted all this time. Here things are failing in new and interesting ways. It seems Debian uses a sligtly non-standard split of xulrunner packages for pkg-config. I needed to stick the following line in m4/gecko.m4:

gecko_cv_extra_pkg_dependencies="${gecko_cv_extra_pkg_dependencies} xulrunner-js"

It goes after the if-statement in the pkg-config area of the file.

Still, that doesn’t make it compile successfully. It seems that my two conflicting freetype2 versions are confusing the build… For now I’m giving up, but I’ll be back with a more targeted build story… I will build epiphany from CVS and live to tell about it!!! :-)

Leave a comment