This page lists the most common issues and errors (and their solutions) that you might encounter while trying to compile GNOME using JHBuild.
Error - No package 'something' found
checking for something... configure: error: Package requirements (foo-2.0 >= 002) were not met: No package 'foo-2.0' found Consider adjusting the PKG_CONFIG_PATH environment variable if you installed software in a non-standard prefix.
The module's configure.ac file uses pkg-config to check for the availability of some package (e.g. foo-2.0). This error is raised when pkg-config cannot find the missing package's corresponding .pc file (e.g. foo-2.0.pc ).
1. Find which package provides the missing .pc file. If the missing package is foo-2.0, find and install the package that includes the file foo-2.0.pc:
- For Debian-based systems (incl. Ubuntu):
apt-file search "foo-2.0.pc"For Fedora-based systems:
yum provides "*/foo-2.0.pc"Install the listed package and try configuring the module again.
2. Make sure the PKG_CONFIG_PATH environment variable is set correctly.
Find all the locations where .pc files are stored:
for f in $(locate *.pc); do dirname $f; done | uniq
For each location add it to your jhbuildrc like so:
addpath('PKG_CONFIG_PATH', '/directory/to/pc/files') addpath('PKG_CONFIG_PATH', '/other/pc/files/live/here')
Module fails to build although it did in the past
If you have successfully built in the past, but it suddenly stops working, try:
jhbuild build -afc <module>
which will force it to rebuild everything from scratch.
Error: cannot locate ITS rules for 'XXXX'.metainfo.xml.in
Problem: The file /usr/share/gettext/its/metainfo.its is missing on the system.
Install the package that includes that file. On Fedora and Debian, this would be the appstream package.
Error - macro `XXXX' not found in library
aclocal: configure.in: 153: macro `XXXX' not found in library
Cause: aclocal is not able to find a particular macro in the standard search path. See the .m4 files in this directory to get an idea.
The path to the directory containing an m4 macro needs to be specified by setting the environment variable ACLOCAL_FLAGS.
You need to export the enviromment variable ACLOCAL_FLAGS to point to the directory with the .m4 file containing this macro as follows:
Add the path to the macro file to ACLOCAL_FLAGS in your .jhbuildrc file. For example if the macro is in the /usr/share/aclocal directory, you should then add:
Error - GIT_DISCOVERY_ACROSS_FILESYSTEM not set
Stage: Checking out stage.
fatal: Not a git repository (or any parent up to mount parent /Volumes) Stopping at filesystem boundary (GIT_DISCOVERY_ACROSS_FILESYSTEM not set)
Problem: Not sure, but seems like a directory was created for checking out a clone, and then the cloning process did not start for some reason.
Solution: Delete the empty directory created by jhbuild in the checkoutroot.
Error: macro APPSTREAM_XML is not defined
Install the corresponding development package. On Fedora, this would be libappstream-glib-devel.