JHBuild Frequently Asked Questions
Contents
-
JHBuild Frequently Asked Questions
-
General JHBuild Questions
- What is JHBuild?
- Where can I get help on JHBuild or building GNOME?
- Why the name 'JHBuild'?
- What documentation is available for JHBuild?
- Where do I report a bug with JHBuild?
- 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?
- How can I just download the source code and not build Gnome?
- Building is slow. Is there any way I can speed it up?
- Is there a better way to monitor the status of the build than looking at terminal window?
- I switched git branches manually. Now JHBuild won't git pull?
- Building GNOME
-
General JHBuild 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?
#newcomers irc channel on irc.gnome.org
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?
Check to see if the failure is listed on the issues page.
Check the module's bugzilla or bug list. For example, with GNOME 3.0 moduleset glade3 won't build because of 594957
Ask for help at gnome-love@gnome.org mailing list
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 done
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.