Use a Custom Sysroot

Builder provides support for custom sysroots. A sysroot is a system install in a directory that you are not currently using on your system. You can configure a new sysroot in Preferences -> SDKs to allow Builder to use it.

When creating a new sysroot, you’ll be asked for the following information.

  • The name of your choice describing this sysroot.
  • The architecture targeted by the sysroot such as x86_64, aarch64, i386 or arm.
  • The absolute path to the sysroot on your system.
  • An optional PKG_CONFIG_PATH to use for the sysroot.

Note

By default pkg-config will search in /lib/pkgconfig and /usr/lib/pkgconfig but some sysroots install them in different locations. Debian-based use paths such as /usr/lib/x86_64-linux-gnu/pkgconfig. Other systems may use paths such as /usr/lib64/pkgconfig.

The configuration will be stored in ~/.config/gnome-builder/sysroot/general.conf using a simple key-value format:

[Sysroot 0]
Name=My Sysroot 😎
Arch=x86_64
Path=/path/to/my_sysroot
PkgConfigPath=/path/to/my_sysroot/usr/lib/x86_64-linux-gnu/pkgconfig

Creating a Sysroot with Fedora

On Fedora, you can use dnf to create a new sysroot.

# Create a new sysroot using the host system architecture for
# Fedora 28 with gcc, binutils, and make installed. You can add
# more packages as needed.
sudo dnf install \
    --releasever=28 \
    --installroot=/opt/fedora-28/ \
    --repo=fedora -y \
    systemd passwd dnf fedora-release gcc binutils make