Building GIMP for Linux
The main GIMP building instructions are at Building GIMP .
This page is for Linux-specific additions to that page.
GIMP can be installed on pretty much any GNU/Linux distribution out
there. For the stable branch in particular, we take great care at
not bumping the minimum requirements too often. We also try not to bump
build tools (
autotools…) without a good reason.
We allow a bit more flexibility for optional dependencies.
For the development branch, requirements might be higher than the stable branch, though we also try to avoid bumping without very good reasons (and will try to find ways to use new features while still keeping an old requirement, for instance using macros to test the dependency version).
A base rule is that we try to never bump a dependency if the minimum version is not already at least in Debian testing which acts as our base reference for the development branch of being “reasonably recent yet not too recent”.
As a general advice, software developers should anyway use distributions
providing reasonably recent packages if you don’t want to have to
compile yourself too many dependencies. Ideally, in GIMP case, you
should only have to build
GIMP. All the rest could
come from the package manager.
Distributions commonly used by core GIMP developers are: Debian testing, Debian unstable and Fedora. Some passing contributors have also been using Arch or Gentoo. Other distributions with longer support, and especially LTS versions, can be quite unsuited for software development; as the installed version grow older, you end up having to build yourself more and more dependencies. Some people contribute this way anyway, so in the end, it’s up to everyone and there is no reason recent GIMP cannot build and run on any distribution (you’ll just have to put more work sometimes).
GIMP depends on many packages in addition to
Build options affect which packages are required.
The requirements may change for each release, so the authoritative file
should always be
for the development version), within the source repository instead.
In unexpected cases where even
INSTALL is missing information, the
build system is the most authoritative source.
Therefore this build tutorial is to be taken as a generic build helper or guidelines. If something does not work with the given commands, you are expected to try and understand error messages, because it will never be possible to keep this tutorial perfectly up-to-date with every possible distributions and environments out there.
This page lists dependencies for some linux distributions, on certain dates, with all build options enabled.
Working in October 2019.
sudo apt install \ libtool intltool \ meson \ asciidoc \ exiv2 libgexiv2-dev \ gjs \ gtk-3-examples \ gtk-doc-tools \ jasper \ libaa1-dev \ libappstream-glib-dev \ libarchive-dev \ libavcodec-dev libavformat-dev libavutil-dev \ libbz2-dev \ libgs-dev \ libgtk-3-dev libgtk2.0-dev gobject-introspection \ libgirepository1.0-dev \ libgudev-1.0-dev \ libheif-dev \ libjson-c-dev libjson-glib-dev \ liblcms2-dev \ liblensfun-dev \ libmng-dev \ libopenexr-dev \ libjpeg-dev libopenjp2-7-dev \ libpoppler-glib-dev \ libraw-dev \ librsvg2-bin librsvg2-dev \ libsdl2-dev \ libspiro-dev \ libswscale-dev \ libtiff-dev \ libumfpack5 \ libv4l-dev \ libwebkit2gtk-4.0-dev \ libwebp-dev \ luajit \ python-gi-dev python3-venv python3-wheel \ ruby \ w3m \ xsltproc
Added in 2020, when building optional vala language plugins, the vala compiler tool:
Since Ubuntu 20.04 focal, the tool
gtk-encode-symbolic-svg, an executable binary, has moved from package
gtk-3-examples to package
Since 2021, when building using the clang compiler, the OpenMP library i.e.
Since our CI build uses Debian testing, and that we try to keep this build as full-featured and up-to-date as possible (because it is here to warn us of any new issue), if you use Debian testing, it might be a very good idea to look at the .gitlab-ci.yml file in our repository.
In particular, look at the
build-image job for most dependencies
installed from the package manager and at
deps-debian job for the
dependencies we build ourselves. Copying these commands might be all
there is to do for you.
If your distribution is Debian-based, you may also find the below trick useful.
For Debian and derivative distributions (Ubuntu, Mint…), a good start
would be to install the
build-essential package. There exists also a
special command which would install all the packages necessary to build
the GIMP package. It gets you mostly there in a single command:
sudo apt build-dep gimp
You may get an error about incomplete
$ sudo apt build-dep gimp Reading package lists... Done E: You must put some 'deb-src' URIs in your sources.list
If this happens, this forum thread gives a few hints on how to properly set your system with CLI and GUI alternative methods: https://askubuntu.com/a/857433
Fedora has a similar command as Debian which will install all packages necessary to build the GIMP package. It gets you mostly there in a single command:
sudo dnf builddep gimp