Difference between revisions of "Hacking:Building/Linux"

From GIMP Developer Wiki
Jump to: navigation, search
(Remove duplicate with "hacking:building")
(Ubuntu 19.10)
(3 intermediate revisions by the same user not shown)
Line 1: Line 1:
 
The main GIMP building instructions are at [[Hacking:Building]].
 
The main GIMP building instructions are at [[Hacking:Building]].
 +
 
This page is for Linux-specific additions to that page.
 
This page is for Linux-specific additions to that page.
 
__TOC__
 
  
 
== Dependencies ==
 
== Dependencies ==
  
GIMP depends on a lot of other packages in addition to babl, gegl, libmypaint and mypaint-brushes. The requirements change frequently, but on a freshly installed Ubuntu 19.10 system in October 2019, this was enough for most of GIMP's dependencies (there are still a few missing formats, but it builds):
+
GIMP relies on a lot of other packages in addition to <code>babl</code>, <code>gegl</code>, <code>libmypaint</code> and <code>mypaint-brushes</code>.
 
+
<pre wrap>
+
sudo apt install libtool intltool libjson-c-dev meson python3-venv \
+
    python3-wheel cmake liblcms2-dev librsvg2-bin w3m libgtk2.0-dev \
+
    gobject-introspection libjson-glib-dev libgirepository1.0-dev asciidoc \
+
    ruby exiv2 libgexiv2-dev jasper liblensfun-dev libjpeg-dev \
+
    libraw-dev librsvg2-dev libspiro-dev libtiff-dev libv4l-dev luajit \
+
    libopenexr-dev libsdl2-dev libwebp-dev python-gi-dev libavcodec-dev \
+
    libavformat-dev libavutil-dev libswscale-dev libumfpack5 libgtk-3-dev \
+
    libbz2-dev libappstream-glib-dev libarchive-dev gtk-3-examples gjs \
+
    libpoppler-glib-dev xsltproc gtk-doc-tools libaa1-dev \
+
    libwebkit2gtk-4.0-dev libgudev-1.0-dev libwebkit2gtk-4.0-dev libgs-dev \
+
    libopenjp2-7-dev libmng-dev libheif-dev
+
</pre>
+
 
+
== Troubleshooting ==
+
* I’m getting an error about a too low of GTK+/GLib while compiling XXX
+
*: You can either update your version of GTK+/GLib using your system’s package manager, or compile GTK+/GLib from source! Compiling these is done exactly like we compiled babl – download the source (either the latest from Git, or a package from the official site), compile and install. You may also need to do something like this to a library called ATK.
+
* I’m getting some error about relative path in the prefix
+
*: The installation directory of libraries/executables must be specified in an absolute path and not in a relative path. If you got this error, it means that one of the paths in your environment variables is relative and not absolute – fix that!
+
* I'm getting errors about missing/old version of Gtk+/Glib/etc.
+
*: The 3/4 step process described in [[Hacking:Building]] for building should work for building most if not all of GIMP's dependancies. Like we compiled GIMP, you should download the sources, run configure then make and finally make install. Use Google or some other search engine to find the website of the package and download it's source from it. Of course that if possible, you should try to install these dependencies through your system's package manager (if you have root permissions) and by that you'll save the time and effort of the compilation.
+
 
+
 
+
For other problems, see: [[Hacking:Problems and solutions]]
+
 
+
== Building the Documentation ==
+
 
+
To build the documentation
+
 
+
<pre>
+
git clone --depth=0 git@gitlab.gnome.org:GNOME/gimp-help.git
+
cd gimp-help
+
./autogen.sh [--without-gimp ALL_LINGUAS="en"]
+
LINGUAS=en make
+
LINGUAS=en make pdf-local
+
</pre>
+
 
+
Substitute your language options in the above.
+
 
+
'''Notes'''<br />
+
The production of the documentation requires '''''docbook''''' and ancillary programs. Here are some of the other programs;<br />
+
'''''gettext'''''<br />
+
'''''automake'''''<br />
+
'''''docbook2odf'''''<br />
+
'''''pngcrush'''''<br />
+
'''''pngnq'''''<br />
+
'''''docbook-xsl '''''<br />
+
'''''docbook-utils'''''<br />
+
'''''dblatex'''''<br />
+
Which may or may not already installed. Running autogen will stop at the failed dependency, so install and repeat the process till autogen finishes.
+
  
It is recommended that you read the '''README'''.
+
The requirements change frequently, but this page contains dependencies lists for different linux distributions.
  
----
+
==== Ubuntu 19.10 ====
 +
Workin 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

Revision as of 23:27, 21 November 2019

The main GIMP building instructions are at Hacking:Building.

This page is for Linux-specific additions to that page.

Dependencies

GIMP relies on a lot of other packages in addition to babl, gegl, libmypaint and mypaint-brushes.

The requirements change frequently, but this page contains dependencies lists for different linux distributions.

Ubuntu 19.10

Workin 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