Fixing JHBuild Issues


Fixing no native package found errors

JHBuild uses apt-file to locate packages which a given file belongs to.

When apt-file cannot locate the relevant packages for you, JHBuild would give you with informational warnings:

I: Installing dependencies on system: libsystemd-journal libtiff
I: Using apt-file to search for providers; this may be slow. Please wait.
I: No native package found for libsystemd-journal (/libsystemd-journal.pc)
I: No native package found for libtiff (/usr/include/tiff.h)

First make sure your apt-file database is up-to-date.
sudo apt-file update

To find the relevant package which includes the given file, you could

  • Go to packages.ubuntu.com
  • And search the contents of packages which include the given .pc file.
  • Find the relevant package for your distribution and install it.

For example your missing libsystemd.pc belongs to the package named `libsystemd-dev`

Therefore running apt-get install libsystemd-dev should fix it.

JHBuild no native package found for libtiff

 

Fixing No matching system package installed:
This type of errors can be quite tricky as your distribution might not have a package that is newer than the required version.

Example cases:

  • libsystemd-journal (libsystemd-journal.pc, required=201)
    Ubuntu’s Launchpad provides compatibility package for libsystemd-journal-dev (>201) which includes the required .pc file. Downloading and installing latest binary .deb file for your distribution should fix it.

Fixing configure errors: Package requirements (package-name) were not met:

In that case do,
apt-cache search package-name
This will list down all the packages for the given keyword: package-name

Find the required development package from the list and install it.
On a Debian based system the package name would probably contain a *-dev suffix. For Fedora, look for ‘-devel’

For example to fix the ..
configure: error: Package requirements (libselinux >= 2.0) were not met

Run the following in a terminal
apt-cache search libselinux

On my system the output is,

libselinux1 - SELinux runtime shared libraries
libselinux1-dev - SELinux development headers
libsemanage1 - SELinux policy management library

So installing ‘libselinux1-dev’ should fix the configure error.
apt-get install libselinux1-dev

If there’s anything that you could add to improve this article, please spare a moment to share it with everyone in the comment section in below.


Game by Gayan Weerakutti - Linux Developer Space

Leave a comment

Your email address will not be published. Required fields are marked *