Posts Tagged ‘GNOME’

My journey of JHBuild

To better support the latest feature of GTK+3, Gnome-games git master has recently bumped up GTK+ minimum requirement to 3.3.x. However my desktop Ubuntu only provides development packages up to GTK+3.2. As such my local build of Gnome-games was broken. I think it is a good time to try JHBuild.

Ubuntu’s official APT repo has JHBuild package but it is outdated. I gave it a try but ran into many build errors. Soon I switched to its git version and it turned out to be the way to go.

I don’t want to repeat what JHBuild website already has. I will just list what I have encountered in the process of making a working Gnome-games JHBuild build.

First, follow the instructions on JHBuild website until you have run

$ jhbuild build gnome-games

It’s gonna take a quite while to fetch source code from upstream git repos build ¬†and install them. You can do it once and in future, as long as the library dependency is satisfied, we can type

$ jhbuild buildone gnome-games

to just update and build gnome-games itself.

If you already have your local clone of gnome-games, and you just want to install the broken libraries, you can just

$ jhbuild build gtk+

$ jhbuild build clutter

$ jhbuild build clutter-gtk

However, I noticed that the GTK+3 baked by JHBuild didn’t support SVG file which was wildly used in many game apps. It looked like gdk-pixbuf didn’t include the loader for SVG. The trick is

$ jhbuild build librsvg

After that you can check if the SVG loader is in $JHBUILDER_PREFIX/lib64/gdk-pixbuf-2.0/loaders.

Another annoying problem is when you run the games, you probably will see

GLib-GIO-Message: Using the 'memory' GSettings backend. Your settings will not be saved or shared with other applications.

The reason is that your system dconf is old, and the fix is to

$ jhbuild build dconf

All right. Hopefully this post can help you iron out all the glitches you have when you try to bake Gnome-games with JHBuild. Have fun!