Warning: preg_replace(): The /e modifier is no longer supported, use preg_replace_callback instead in /home/users/beng/gremblesbeans/content-single.php on line 8

GIMP 2.9.x On Debian Jessie/Sid

NOTE: I’m not going to maintain this post any more (18th April 2016). Now Stretch is the current testing, I’m putting up a new page for the build there. Recent versions of GIMP from git need libmypaint, which adds an extra dependency. Please see this new article for compiling on Stretch.

I compiled GIMP for my Debian Jessie/Sid install last night. I used this marvellous document but there were a couple of errors, so I’m adding this update here. This means that this document is distributed by the same license as the original CC Attribution-Share Alike 3.0 Unported.

At time of writing 2.9.x is actually GIMP 2.9.1

What to do under DEBIAN

Open a terminal window and copy line for line int the window. Press RETURN and watch. The block with all the packages are one line, the “\” tells the system to ignore the line break, so you can copy and paste it in one chunk into your terminal.

Prepare the environment

cd
 export PREFIX=`echo ~/gimp`
 export PATH=$PREFIX/bin:$PATH
 export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig:$PREFIX/share/pkgconfig

Install needed packages

Become superuser, update your system, install, go back to normal user.

su -

 apt-get update
 apt-get upgrade
 apt-get install libtool automake autoconf git-core gettext \
 libglib2.0-0 libglib2.0-dev libgtk2.0-0 libgtk2.0-dev ruby \
 intltool libtiff5 libtiff5-dev python-dev python-gtk2-dev \
 libexif-dev libmng-dev liblcms1-dev libxpm-dev librsvg2-dev \
 libwmf-dev libasound2-dev valac xsltproc openexr libexif-dev \
 libexif12 libgexiv2-dev libbz2-dev gtk-doc-tools \
 libjson-glib-dev

 exit

There are also some optional packages to help with dependencies:

su -

 apt-get install libaa1-dev  libwebkit-dev libopenexr-dev \
 libjasper-dev libgs-dev libpoppler-glib-dev

 exit

Don’t worry about these for a basic compile though. This should be the last time you need to become root to complete the process.

Get the source

mkdir gimp-build
 cd gimp-build
 git clone git://git.gnome.org/babl
 git clone git://git.gnome.org/gegl
 git clone git://git.gnome.org/gimp

Generate the make files, compile and install

In the autogen lines a lot of checks are done – watch for warnings and error messages!

cd babl
 ./autogen.sh --prefix=$PREFIX
 make
 make install

cd ../gegl
 ./autogen.sh --prefix=$PREFIX
 make
 make install

cd ../gimp
 ./autogen.sh --prefix=$PREFIX --disable-gtk-doc
 make
 make install

This gets you gimp-2.9 in the directory ~/gimp/bin . If you have error try to add any missing package and try again. Post a comment on this post if you like.

Keeping GIMP up to date

Don’t delete the source directory. Backup your directory with the working GIMP 2.9. The update can break everything in there…..

You can update easily with:

cd
 export PREFIX=`echo ~/gimp`
 export PATH=$PREFIX/bin:$PATH
 export PKG_CONFIG_PATH=$PREFIX/lib/pkgconfig:$PREFIX/share/pkgconfig

cd gimp-build

cd babl
 git clean -f
 git pull --rebase
 ./autogen.sh --prefix=$PREFIX
 make
 make install

cd ../gegl
 git clean -f
 git pull --rebase
 ./autogen.sh --prefix=$PREFIX
 make
 make install

cd ../gimp
 git clean -f
 git pull --rebase
 ./autogen.sh --prefix=$PREFIX
 make
 make install

This is fast, because only new and changed stuff is pulled from the servers and compiled.

So that’s it! Enjoy the full range of bit depths, and all the other new work in progress features of the new GIMP.

 

6 thoughts on “GIMP 2.9.x On Debian Jessie/Sid

  1. Hi Gremble’s Beans,
    Came across your post re GIMP 2.9 and thought would try out on a clean VM install of Jessie. Worked perfectly and really appreciated the line by line instructions. I now intend to install in my main machine (again Jessie) and wonder if you have come across any problems/conflicts (I run a Mythtv backend on this machine). I do not want to mess up if at all possible. I will also be attempting to install Darktable 1.6.3 (again this has been ok in the VM along with GIMP 2.9)
    Appreciate your thoughts and Thank You for the excellent instructions.
    John

    • I can’t imagine there’d be any conflicts, but you’ve probably given it a try already since I haven’t got back to you for such a long time!

  2. Thanks a lot 😀

    Did it on Debian Jessie . . .
    I installed a few aditional Packets: libbz2-dev libbz libzip2 libzip-dev libgexiv2-dev
    (Don’t know exactly which ones were needed . . . after that it worked just fine)

    😀

  3. Is there a difference of using “echo ~/gimp” versus “$HOME/gimp”? It’s weird, setting variables with “commands” instead of referring directly to the environment variables.

    It’s also sort of weird that it seemingly is gimp’s binary/etc folder, not the user’s config folder. So the standard would perhaps be “/opt/gimp” or something, instead of in a random user home folder or in root’s home folder.

    • The reason to use the users home directory for building is that you are creating a local build, using only the permissions you have as a user. Obviously you need to use root to install packages, but the build happens as your own user. It’s safer.

      You also then have much better options for having a globally available version (in say /opt/) and your own current compilation efforts.

      Yes you could use “$HOME/gimp” if you liked, but there’s little difference. Use what you want.

Leave a Reply

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