Compiling Inkscape

Inkscape running

Inkscape is a Open Source vector graphics editor that works with SVG (Scalable Vector Graphics) format, Inkscape works with transparency, gradients, node editing, pattern fills, PNG export, and more. It also runs on Linux, Windows and OSX, those three are officially supported, but also runs in a broad list of Operational Systems. Is a software that I work daily and frequently is featured here in my blog.

You can download Inkscape or directly install it via some package system like Apt:

sudo apt-get install inskcape

But sometimes we need some special feature that is not available yet in the repositories or we want gain speed by having special binaries for our platforms or we want to help developing a new feature. In those cases we need to compile the software by ourself.

Those tips are valid for Ubuntu 8.04 but some part of them can be applied in others distributions. The Inkscape compiled here is the version 0.46+devel so newest versions can have compiling procedures slightly different.

Getting sources via APT.The easiest way to compile Inkscape on Ubuntu is

sudo su
apt-get build-dep inkscape
apt-get source inkscape
cd inkscape
./autogen.sh
./configure
make
make install

This will get a version of inkscape, compile it and install. If the first step doesn’t work well, you can try install all necessary packages by yourself using:

sudo apt-get install autotools-dev fakeroot dh-make build-essential autoconf automake intltool libglib2.0-dev libpng12-dev libgc-dev libfreetype6-dev liblcms1-dev libgtkmm-2.4-dev libxslt1-dev libboost-dev libpopt-dev libgsl0ldbl libgsl0-dev libgsl0-dbg libgnome-vfsmm-2.6-dev libssl-dev libmagick++9-dev libwpg-dev

Getting sources via SVN. The recipe I showed above will compile a stable version of Inkscape but not the last version of Inkscape. For that we need to grab the source directly from the Subversion repositories and so compile it.

At your home folder:

sudo apt-get install subversion
svn checkout https://inkscape.svn.sourceforge.net/svnroot/inkscape/inkscape/trunk inkscape

A alternative way to subversion is getting sources from here. Those are tarballs built every hour after someone change something in the development repositories. Download a tarball, and decompress it on your home folder.

Install all tools we need to compile Inkscape, this should fits:

sudo apt-get install autotools-dev fakeroot dh-make build-essential autoconf automake intltool libglib2.0-dev libpng12-dev libgc-dev libfreetype6-dev liblcms1-dev libgtkmm-2.4-dev libxslt1-dev libboost-dev libpopt-dev libgsl0ldbl libgsl0-dev libgsl0-dbg libgnome-vfsmm-2.6-dev libssl-dev libmagick++9-dev libwpg-dev

Enter in the directory with the Inkscape source and do:

./autogen.sh
mkdir build
cd build
../configure
make
sudo make install

In both cases, grabbing sources via svn or via apt, or can set the place where the software will be installed so it not cause conflicts with you already installed version of Inkscape. You can do that replacing the ./configure step with something like:

./configure –prefix=/home/yourname/inkscape

If you had some trouble in one of those steps, consider reading some of those other tutorials:

ps: thanks guys from the inkscape-devel@lists.sourceforge.net specially heathenx.

9 thoughts on “Compiling Inkscape

  1. Please don’t EVER tell people using such a beautifully engineered OS as Ubuntu to screw up their software installation databases using “configure-make-make install” procedures. apt and dpkg exist for a very good reason and are carefully designed just to avoid polluting the system.

    There is apt-build, dpkg-buildpackage and several good recipes on the internet that tell how to use a newer tarball or svn tree to build a new .deb. It is very close to your explanation, but does not spread hundreds of files outside the reach of your dpkg database.

    So close, and you missed just the important part. I could swallow it if you recommended sometuing as checkinstall, but this is preposterous.

  2. Patola,

    ./configure; make is a perfectly viable way for partisans in a project to get the latest version. Occasionally one needs to go to the source to get the “real thing.” Often, distros and packagers inject bugs into otherwise stable builds. In Inkscape’s case, there is no devel/user schism…. everyone is a developer.

  3. Thanks for the nice post Silveira!

    Patola, a simple rule on critisism – if you give it, make it constructive. If there are good ways of improving on Silveira’s recommended procedure, then please share it with the same care he used in the first place. I would loooove to know of the best way to go about it, and I’m sure Silveira, would be open for suggestions. Let’s not do the Microsoft thing and treat other people like nobodies. Ubuntu means Together! Let’s work Together. Let’s work Ubuntu!!!!

  4. Very nice tutorial. Worked well with a fresh install of 8.10 (Ibis) Ubuntu and the second suggestion you give in this tut article about the dependancies. (with a lot of warnings and a suggestion to –force-configure), but it did finally comes up with a 64-bit AMD version. Inkscape draws shapes and SaveAs with JavaFX. Menu Help –> About Inkscape and it has .46+devel. Beautiful.

  5. Hi Silveira,

    Thanks for the post … I found on Ibis (8.10) that I had to include libgsl0-dev in the list of dependencies.
    I’m also trying to use this with JavaFX 1.1 and it seems they’ve changed some of the syntax to the point where the exported .fx is full of errors when I import into netbeans … eg: package javafx.application does not exist, package javafx.scene.geometry does not exist, the private keyword is no longer supported … etc.
    Do you know if anyone’s working on a 1.1 compliant version.
    I’d be happy to help.

    Cheers,
    tc.

Leave a Reply

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

You may use these HTML tags and attributes: <a href="" title=""> <abbr title=""> <acronym title=""> <b> <blockquote cite=""> <cite> <code> <del datetime=""> <em> <i> <q cite=""> <strike> <strong>