JHBuild Frequently Asked Questions

General JHBuild Questions

What is JHBuild?

JHBuild is a tool designed to ease building collections of source packages, called “modules”. JHBuild was originally written for building GNOME, but has since been extended to be usable with other projects.

Where can I get help on JHBuild or building GNOME?

Why the name 'JHBuild'?

JHBuild started as James Henstridge's (JH) build script.

What documentation is available for JHBuild?

  • JHBuild Manual. The JHBuild Manual details how to install JHBuild, how to use with GNOME, JHBuild commands, options and configuration files.

  • Jhbuild wiki. The wiki lists dependencies for a number of distributions and common issues building software modules.

Where do I report a bug with JHBuild?

Please report bugs at Bugzilla, jhbuild product

A module doesn't build. What should I do?

The wget command can't download any tarballs. How do I get it to work with my firewall?

Create ~/.wgetrc file. If an HTTP proxy is used to access FTP sites, add a line like the following to the file:

ftp_proxy = http://hostname:port/

If passive FTP connections are required (sometimes needed with NAT firewalls), add the following line:

passive_ftp = on

How can I just download the source code and not build Gnome?

To download the code only run

jhbuild update

command instead of

jhbuild build

Building is slow. Is there any way I can speed it up?

CCache can speed up compilations, as it caches compilation results. CCache is available with most distributions.

Set the cache size with the following command:

ccache -M 2G

(where 2G is the size the cache). Create symlinks to CCache for the compiler in ~/bin:

cd ~/bin
for cmd in cc gcc c++ g++; do
  ln -s /usr/bin/ccache $cmd

It is possible to check the status of the cache including cache hit rates with the following command:

ccache -s

Is there a better way to monitor the status of the build than looking at terminal window?

If Zenity >= 2.9 is installed on your system, JHBuild will display an icon in the system tray. The icon will display the current build stage, and the tooltip will show the last message from JHBuild.

The icon will also pop up a balloon on error.

I switched git branches manually. Now JHBuild won't git pull?

JHBuild will only git pull tracking branches. Revert to master with git checkout master then remove .git/refs/heads/branchname. JHBuild will now switch branch with tracking enabled.

Building GNOME

What other prerequisites are needed to build GNOME with JHBuild?

Some of the packages required include:

  • DocBook XML DTD and XSLT stylesheets. These need to be registered in the XML catalog (/etc/xml/catalog).

  • X libraries
  • libsmbclient from Samba (used for browsing Windows networks).
  • libbz2 from bzip2.
  • libpng, libjpeg and libtiff (used for image loading).

If installing distribution packages, and if applicable for your distribution, install the corresponding “dev” or “devel” packages. A list of package names for different distributions is maintained at dependencies.

I built GNOME using JHBuild with prefix set to /usr, and now my system is broken. What should I do?

Don't set prefix to /usr.

CategoryJhbuild CategoryProject

Projects/Jhbuild/FAQ (last edited 2016-11-16 10:47:39 by AlbertoFanjul)