<?xml version="1.0"?>
<feed xmlns="http://www.w3.org/2005/Atom" xml:lang="en">
	<id>https://wiki.inkscape.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Eduardo</id>
	<title>Inkscape Wiki - User contributions [en]</title>
	<link rel="self" type="application/atom+xml" href="https://wiki.inkscape.org/wiki/api.php?action=feedcontributions&amp;feedformat=atom&amp;user=Eduardo"/>
	<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/Special:Contributions/Eduardo"/>
	<updated>2026-04-30T14:23:33Z</updated>
	<subtitle>User contributions</subtitle>
	<generator>MediaWiki 1.36.1</generator>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape&amp;diff=48284</id>
		<title>Compiling Inkscape</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape&amp;diff=48284"/>
		<updated>2009-03-07T23:22:36Z</updated>

		<summary type="html">&lt;p&gt;Eduardo: /* GtkMM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hopefully, Inkscape will compile right out of the box.  If it doesn't, well that's what this page is for.&lt;br /&gt;
&lt;br /&gt;
Jot down notes, questions, findings, tips, etc. here on things you run into.  It's a good idea to&lt;br /&gt;
make mention of what version of the code you're trying to compile, the distribution you're running,&lt;br /&gt;
and other such information that might be pertinent.&lt;br /&gt;
&lt;br /&gt;
If legitimate bugs are found or patches developed, please move them to the tracker at Sourceforge&lt;br /&gt;
rather than inlining them here.  &lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
Inkscape needs automake1.7 or automake1.8 to compile NOT automake1.9 it has a bug ( link: http://sourceforge.net/mailarchive/message.php?msg_id=10288631 ) that prevents compiling of Inkscape. If you have already tried to do a $ make with automake1.9 then $ ./autogen.sh from your inkscape-cvs dir and proceed as normal.&lt;br /&gt;
(On the other hand, I've repeatedly built it with automake-1.9.4.  ralf)&lt;br /&gt;
&lt;br /&gt;
You may want to also [http://wiki.inkscape.org/wiki/index.php/OtherProjects#Inkscape_Plugins.2C_Scripts.2C_and_Templates add plugins] during or after compiling.&lt;br /&gt;
&lt;br /&gt;
= OS &amp;amp;amp; Distribution Specific =&lt;br /&gt;
* '''Linux'''&lt;br /&gt;
** [[CompilingAutopackage|Autopackage]] (multi-distro)&lt;br /&gt;
** [[CompilingFedora|Fedora]]&lt;br /&gt;
** [[CompilingGentoo|Gentoo]]&lt;br /&gt;
** [[CompilingDebian|Debian]]&lt;br /&gt;
** [[CompilingUbuntu|Ubuntu]]&lt;br /&gt;
** [[CompilingYellowDog|Yellow Dog]]&lt;br /&gt;
** [[CompilingSuse|Suse]]&lt;br /&gt;
** [[CompilingSlackware|Slackware]]&lt;br /&gt;
** [[CompilingYoper|Yoper]]&lt;br /&gt;
** [[CompilingMandrake|Mandrakelinux]]&lt;br /&gt;
* [[CompilingMacOsX|Mac OS X]]&lt;br /&gt;
* [[Win32Port|Windows]]&lt;br /&gt;
* [[CompilingSPARC|SPARC]]&lt;br /&gt;
* [[CompilingSunSolaris|Sun Solaris]]&lt;br /&gt;
* [[CompilingStatic|Static Compiles]]&lt;br /&gt;
&lt;br /&gt;
= Package Config (pkg-config) =&lt;br /&gt;
&lt;br /&gt;
If you must compile and install any of these from source, you may find an error like this when trying to&lt;br /&gt;
compile them or Inkscape itself:&lt;br /&gt;
&lt;br /&gt;
 checking for gtk+-2.0 &amp;gt;= 2.0.0  libxml-2.0 &amp;gt;= 2-2.4.24  sigc++-1.2  gtkmm-2.0... Package gtkmm-2.0 was not found in the  pkg-config search path.&lt;br /&gt;
 Perhaps you should add the directory containing `gtkmm-2.0.pc'&lt;br /&gt;
 to the PKG_CONFIG_PATH environment variable&lt;br /&gt;
 No package 'gtkmm-2.0' found&lt;br /&gt;
&lt;br /&gt;
A solution is to set the PKG_CONFIG_PATH variable as so:&lt;br /&gt;
&lt;br /&gt;
for bash:&lt;br /&gt;
     export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig&lt;br /&gt;
for csh:&lt;br /&gt;
     setenv PKG_CONFIG_PATH /usr/local/lib/pkgconfig:/usr/lib/pkgconfig&lt;br /&gt;
&lt;br /&gt;
A good place to put this line is in your .bashrc or .cshrc file&lt;br /&gt;
&lt;br /&gt;
= Getting and Installing Source packages =&lt;br /&gt;
&lt;br /&gt;
If your distro does not have some packages available (like many don't, ie, Fedora Core 2), you must often download&lt;br /&gt;
source packages and build and install them yourself.  Actually this is not that hard, and is similar to&lt;br /&gt;
doing a Gentoo 'emerge.'&lt;br /&gt;
&lt;br /&gt;
* Usually you download a file with a name like somepackage-1.0.tar.gz.  Unpack it with&lt;br /&gt;
&lt;br /&gt;
    $ tar zxf somepackage-1.0.tar.gz&lt;br /&gt;
    or&lt;br /&gt;
    $ tar jxf somepackage-1.0.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Then 'cd' into the new directory.&lt;br /&gt;
&lt;br /&gt;
* Configure it with the command:&lt;br /&gt;
&lt;br /&gt;
    $ ./configure&lt;br /&gt;
&lt;br /&gt;
* Build it with:&lt;br /&gt;
&lt;br /&gt;
    $ make&lt;br /&gt;
&lt;br /&gt;
* As the 'root' user,  install it with:&lt;br /&gt;
&lt;br /&gt;
    # make install&lt;br /&gt;
&lt;br /&gt;
== Boehm-GC ==&lt;br /&gt;
&lt;br /&gt;
Source: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source&lt;br /&gt;
&lt;br /&gt;
*  Download this file:&lt;br /&gt;
**   http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.8.tar.gz&lt;br /&gt;
*  Unpack it&lt;br /&gt;
**   tar zxf gc6.8.tar.gz&lt;br /&gt;
*  Configure and build it&lt;br /&gt;
**   cd gc6.8&lt;br /&gt;
**   ./configure --disable-shared --enable-static&lt;br /&gt;
**   make&lt;br /&gt;
*  Install it&lt;br /&gt;
**   su    (or however else you become root)&lt;br /&gt;
**   make install&lt;br /&gt;
&lt;br /&gt;
Binaries:  If searching for a package for GC, the name of it is sometimes:&lt;br /&gt;
&lt;br /&gt;
* gc&lt;br /&gt;
* libgc&lt;br /&gt;
* gc-devel&lt;br /&gt;
* libgc-devel&lt;br /&gt;
* boehm-gc  (on Gentoo)&lt;br /&gt;
* debian/ubuntu:  sudo apt-get install libgc-dev&lt;br /&gt;
&lt;br /&gt;
== libSigc++ ==&lt;br /&gt;
&lt;br /&gt;
Source: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/libsigc++-2.2.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
With this file, and for [[GlibMM]] and [[GtkMM]] below, it is usually desirable for us developers to&lt;br /&gt;
build this C++ library statically.  This removes a dependency that might be difficult for an&lt;br /&gt;
end-user during installation.  Configure it with:&lt;br /&gt;
&lt;br /&gt;
    ./configure --enable-static --disable-shared&lt;br /&gt;
&lt;br /&gt;
== [[GlibMM]] ==&lt;br /&gt;
Try to match your Glib2 version with GlibMM's version. For example, if your Glib2 is 2.16.6, download glibmm-2.16.4.tar.bz2.&lt;br /&gt;
&lt;br /&gt;
Latest source: http://ftp.gnome.org/pub/GNOME/sources/glibmm/&lt;br /&gt;
&lt;br /&gt;
== [[GtkMM]] ==&lt;br /&gt;
Usually you can try the latest version of GtkMM, but if you get version mismatch errors, try older releases.&lt;br /&gt;
&lt;br /&gt;
Source: http://ftp.gnome.org/pub/GNOME/sources/gtkmm/2.12/gtkmm-2.12.7.tar.bz2&lt;br /&gt;
&lt;br /&gt;
== cairomm ==&lt;br /&gt;
&lt;br /&gt;
if you got prompted about cairomm, try first solve your cairo version, so you can grab [http://www.cairographics.org/releases/ there] a compatible version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Boost ==&lt;br /&gt;
&lt;br /&gt;
Many users have reported when building from source that after installing the above dependencies, the configure script still requires a &amp;quot;boost&amp;quot; package. It can be found below, but even after installing, you will need to create a symlink to allow the configure script to find it:&lt;br /&gt;
&lt;br /&gt;
'''ln -s /usr/local/include/boost_1_xx_x/boost /usr/local/include/boost'''&lt;br /&gt;
&lt;br /&gt;
Source: http://www.boost.org/users/download/&lt;br /&gt;
&lt;br /&gt;
== Poppler ==&lt;br /&gt;
&lt;br /&gt;
Source: http://poppler.freedesktop.org/&lt;br /&gt;
&lt;br /&gt;
Note: there seems to be an incompatibility with recent versions of poppler. See the following bugreport: https://bugs.launchpad.net/inkscape/+bug/254849&lt;br /&gt;
&lt;br /&gt;
Also, the &amp;lt;code&amp;gt;-DPOPPLER_NEW_GFXFONT&amp;lt;/code&amp;gt; hack does not seem to work with vanilla 0.46, you should obtain a snapshot version instead.&lt;br /&gt;
&lt;br /&gt;
One of the mentioned compilation errors is due to a mis-configured Poppler build/install - you will see the following errors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;In file included from extension/internal/pdfinput/svg-builder.cpp:19:&lt;br /&gt;
extension/internal/pdfinput/svg-builder.h:32:23: error: CharTypes.h: No such file or directory&lt;br /&gt;
...&lt;br /&gt;
make[2]: *** [extension/internal/pdfinput/svg-builder.o] Error 1&lt;br /&gt;
make[2]: Leaving directory `/tmp/build/inkscape-0.46/src'&lt;br /&gt;
make[1]: *** [all-recursive] Error 1&lt;br /&gt;
make[1]: Leaving directory `/tmp/build/inkscape-0.46'&lt;br /&gt;
make: *** [all] Error 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Developer Compilation =&lt;br /&gt;
&lt;br /&gt;
Plain vanilla compilation is done as documented in INSTALL; ./autogen.sh (optionally); ./configure; make; su &amp;amp;&amp;amp; make test; make install (optional).  See INSTALL for more on that.&lt;br /&gt;
&lt;br /&gt;
But if you're going to be doing a lot of development, there's some tricks and techniques you should know,&lt;br /&gt;
to get best results.&lt;br /&gt;
&lt;br /&gt;
#  Turn off optimization&lt;br /&gt;
#  Use ccache for faster compilation&lt;br /&gt;
#  Set up a separate build directory (nice for testing both gcc and g++, or cross compiling)&lt;br /&gt;
#  Use the -j N flag to optimize for the number of processors in your machine, with N = 1 + no. proc's&lt;br /&gt;
&lt;br /&gt;
Example:  Setting up both gcc and g++ build environments (in separate tree), and using ccache for faster&lt;br /&gt;
compilations on a dual-processor machine, with no optimization, assuming /bin/bash:&lt;br /&gt;
&lt;br /&gt;
 mkdir build-gcc build-g++&lt;br /&gt;
 cvs checkout inkscape&lt;br /&gt;
 cd inkscape&lt;br /&gt;
 libtoolize --copy --force&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 cd ../build-gcc&lt;br /&gt;
 CFLAGS='-g -O0 -Wall' CC='ccache gcc' ../inkscape/configure&lt;br /&gt;
 cd ../build-g++&lt;br /&gt;
 CXXFLAGS='-g -O0 -Wall' CXX='ccache g++' ../inkscape/configure&lt;br /&gt;
 cd ../build-gcc &amp;amp;&amp;amp; make -j 3&lt;br /&gt;
 cd ../build-g++ &amp;amp;&amp;amp; make -j 3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turning off just optimization (which can produce strange results in debuggers):&lt;br /&gt;
&lt;br /&gt;
 export CXXFLAGS='-g -O0 -Wall'&lt;br /&gt;
 export CFLAGS='-g -O0 -Wall'&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
See [[TestingInkscape]] for information on building and executing (unit) tests.&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;/div&gt;</summary>
		<author><name>Eduardo</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape&amp;diff=48274</id>
		<title>Compiling Inkscape</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape&amp;diff=48274"/>
		<updated>2009-03-07T23:20:19Z</updated>

		<summary type="html">&lt;p&gt;Eduardo: /* GlibMM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hopefully, Inkscape will compile right out of the box.  If it doesn't, well that's what this page is for.&lt;br /&gt;
&lt;br /&gt;
Jot down notes, questions, findings, tips, etc. here on things you run into.  It's a good idea to&lt;br /&gt;
make mention of what version of the code you're trying to compile, the distribution you're running,&lt;br /&gt;
and other such information that might be pertinent.&lt;br /&gt;
&lt;br /&gt;
If legitimate bugs are found or patches developed, please move them to the tracker at Sourceforge&lt;br /&gt;
rather than inlining them here.  &lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
Inkscape needs automake1.7 or automake1.8 to compile NOT automake1.9 it has a bug ( link: http://sourceforge.net/mailarchive/message.php?msg_id=10288631 ) that prevents compiling of Inkscape. If you have already tried to do a $ make with automake1.9 then $ ./autogen.sh from your inkscape-cvs dir and proceed as normal.&lt;br /&gt;
(On the other hand, I've repeatedly built it with automake-1.9.4.  ralf)&lt;br /&gt;
&lt;br /&gt;
You may want to also [http://wiki.inkscape.org/wiki/index.php/OtherProjects#Inkscape_Plugins.2C_Scripts.2C_and_Templates add plugins] during or after compiling.&lt;br /&gt;
&lt;br /&gt;
= OS &amp;amp;amp; Distribution Specific =&lt;br /&gt;
* '''Linux'''&lt;br /&gt;
** [[CompilingAutopackage|Autopackage]] (multi-distro)&lt;br /&gt;
** [[CompilingFedora|Fedora]]&lt;br /&gt;
** [[CompilingGentoo|Gentoo]]&lt;br /&gt;
** [[CompilingDebian|Debian]]&lt;br /&gt;
** [[CompilingUbuntu|Ubuntu]]&lt;br /&gt;
** [[CompilingYellowDog|Yellow Dog]]&lt;br /&gt;
** [[CompilingSuse|Suse]]&lt;br /&gt;
** [[CompilingSlackware|Slackware]]&lt;br /&gt;
** [[CompilingYoper|Yoper]]&lt;br /&gt;
** [[CompilingMandrake|Mandrakelinux]]&lt;br /&gt;
* [[CompilingMacOsX|Mac OS X]]&lt;br /&gt;
* [[Win32Port|Windows]]&lt;br /&gt;
* [[CompilingSPARC|SPARC]]&lt;br /&gt;
* [[CompilingSunSolaris|Sun Solaris]]&lt;br /&gt;
* [[CompilingStatic|Static Compiles]]&lt;br /&gt;
&lt;br /&gt;
= Package Config (pkg-config) =&lt;br /&gt;
&lt;br /&gt;
If you must compile and install any of these from source, you may find an error like this when trying to&lt;br /&gt;
compile them or Inkscape itself:&lt;br /&gt;
&lt;br /&gt;
 checking for gtk+-2.0 &amp;gt;= 2.0.0  libxml-2.0 &amp;gt;= 2-2.4.24  sigc++-1.2  gtkmm-2.0... Package gtkmm-2.0 was not found in the  pkg-config search path.&lt;br /&gt;
 Perhaps you should add the directory containing `gtkmm-2.0.pc'&lt;br /&gt;
 to the PKG_CONFIG_PATH environment variable&lt;br /&gt;
 No package 'gtkmm-2.0' found&lt;br /&gt;
&lt;br /&gt;
A solution is to set the PKG_CONFIG_PATH variable as so:&lt;br /&gt;
&lt;br /&gt;
for bash:&lt;br /&gt;
     export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig&lt;br /&gt;
for csh:&lt;br /&gt;
     setenv PKG_CONFIG_PATH /usr/local/lib/pkgconfig:/usr/lib/pkgconfig&lt;br /&gt;
&lt;br /&gt;
A good place to put this line is in your .bashrc or .cshrc file&lt;br /&gt;
&lt;br /&gt;
= Getting and Installing Source packages =&lt;br /&gt;
&lt;br /&gt;
If your distro does not have some packages available (like many don't, ie, Fedora Core 2), you must often download&lt;br /&gt;
source packages and build and install them yourself.  Actually this is not that hard, and is similar to&lt;br /&gt;
doing a Gentoo 'emerge.'&lt;br /&gt;
&lt;br /&gt;
* Usually you download a file with a name like somepackage-1.0.tar.gz.  Unpack it with&lt;br /&gt;
&lt;br /&gt;
    $ tar zxf somepackage-1.0.tar.gz&lt;br /&gt;
    or&lt;br /&gt;
    $ tar jxf somepackage-1.0.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Then 'cd' into the new directory.&lt;br /&gt;
&lt;br /&gt;
* Configure it with the command:&lt;br /&gt;
&lt;br /&gt;
    $ ./configure&lt;br /&gt;
&lt;br /&gt;
* Build it with:&lt;br /&gt;
&lt;br /&gt;
    $ make&lt;br /&gt;
&lt;br /&gt;
* As the 'root' user,  install it with:&lt;br /&gt;
&lt;br /&gt;
    # make install&lt;br /&gt;
&lt;br /&gt;
== Boehm-GC ==&lt;br /&gt;
&lt;br /&gt;
Source: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source&lt;br /&gt;
&lt;br /&gt;
*  Download this file:&lt;br /&gt;
**   http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.8.tar.gz&lt;br /&gt;
*  Unpack it&lt;br /&gt;
**   tar zxf gc6.8.tar.gz&lt;br /&gt;
*  Configure and build it&lt;br /&gt;
**   cd gc6.8&lt;br /&gt;
**   ./configure --disable-shared --enable-static&lt;br /&gt;
**   make&lt;br /&gt;
*  Install it&lt;br /&gt;
**   su    (or however else you become root)&lt;br /&gt;
**   make install&lt;br /&gt;
&lt;br /&gt;
Binaries:  If searching for a package for GC, the name of it is sometimes:&lt;br /&gt;
&lt;br /&gt;
* gc&lt;br /&gt;
* libgc&lt;br /&gt;
* gc-devel&lt;br /&gt;
* libgc-devel&lt;br /&gt;
* boehm-gc  (on Gentoo)&lt;br /&gt;
* debian/ubuntu:  sudo apt-get install libgc-dev&lt;br /&gt;
&lt;br /&gt;
== libSigc++ ==&lt;br /&gt;
&lt;br /&gt;
Source: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/libsigc++-2.2.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
With this file, and for [[GlibMM]] and [[GtkMM]] below, it is usually desirable for us developers to&lt;br /&gt;
build this C++ library statically.  This removes a dependency that might be difficult for an&lt;br /&gt;
end-user during installation.  Configure it with:&lt;br /&gt;
&lt;br /&gt;
    ./configure --enable-static --disable-shared&lt;br /&gt;
&lt;br /&gt;
== [[GlibMM]] ==&lt;br /&gt;
Try to match your Glib2 version with GlibMM's version. For example, if your Glib2 is 2.16.6, download glibmm-2.16.4.tar.bz2.&lt;br /&gt;
&lt;br /&gt;
Latest source: http://ftp.gnome.org/pub/GNOME/sources/glibmm/&lt;br /&gt;
&lt;br /&gt;
== [[GtkMM]] ==&lt;br /&gt;
&lt;br /&gt;
Latest source: http://ftp.gnome.org/pub/GNOME/sources/gtkmm/&lt;br /&gt;
&lt;br /&gt;
== cairomm ==&lt;br /&gt;
&lt;br /&gt;
if you got prompted about cairomm, try first solve your cairo version, so you can grab [http://www.cairographics.org/releases/ there] a compatible version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Boost ==&lt;br /&gt;
&lt;br /&gt;
Many users have reported when building from source that after installing the above dependencies, the configure script still requires a &amp;quot;boost&amp;quot; package. It can be found below, but even after installing, you will need to create a symlink to allow the configure script to find it:&lt;br /&gt;
&lt;br /&gt;
'''ln -s /usr/local/include/boost_1_xx_x/boost /usr/local/include/boost'''&lt;br /&gt;
&lt;br /&gt;
Source: http://www.boost.org/users/download/&lt;br /&gt;
&lt;br /&gt;
== Poppler ==&lt;br /&gt;
&lt;br /&gt;
Source: http://poppler.freedesktop.org/&lt;br /&gt;
&lt;br /&gt;
Note: there seems to be an incompatibility with recent versions of poppler. See the following bugreport: https://bugs.launchpad.net/inkscape/+bug/254849&lt;br /&gt;
&lt;br /&gt;
Also, the &amp;lt;code&amp;gt;-DPOPPLER_NEW_GFXFONT&amp;lt;/code&amp;gt; hack does not seem to work with vanilla 0.46, you should obtain a snapshot version instead.&lt;br /&gt;
&lt;br /&gt;
One of the mentioned compilation errors is due to a mis-configured Poppler build/install - you will see the following errors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;In file included from extension/internal/pdfinput/svg-builder.cpp:19:&lt;br /&gt;
extension/internal/pdfinput/svg-builder.h:32:23: error: CharTypes.h: No such file or directory&lt;br /&gt;
...&lt;br /&gt;
make[2]: *** [extension/internal/pdfinput/svg-builder.o] Error 1&lt;br /&gt;
make[2]: Leaving directory `/tmp/build/inkscape-0.46/src'&lt;br /&gt;
make[1]: *** [all-recursive] Error 1&lt;br /&gt;
make[1]: Leaving directory `/tmp/build/inkscape-0.46'&lt;br /&gt;
make: *** [all] Error 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Developer Compilation =&lt;br /&gt;
&lt;br /&gt;
Plain vanilla compilation is done as documented in INSTALL; ./autogen.sh (optionally); ./configure; make; su &amp;amp;&amp;amp; make test; make install (optional).  See INSTALL for more on that.&lt;br /&gt;
&lt;br /&gt;
But if you're going to be doing a lot of development, there's some tricks and techniques you should know,&lt;br /&gt;
to get best results.&lt;br /&gt;
&lt;br /&gt;
#  Turn off optimization&lt;br /&gt;
#  Use ccache for faster compilation&lt;br /&gt;
#  Set up a separate build directory (nice for testing both gcc and g++, or cross compiling)&lt;br /&gt;
#  Use the -j N flag to optimize for the number of processors in your machine, with N = 1 + no. proc's&lt;br /&gt;
&lt;br /&gt;
Example:  Setting up both gcc and g++ build environments (in separate tree), and using ccache for faster&lt;br /&gt;
compilations on a dual-processor machine, with no optimization, assuming /bin/bash:&lt;br /&gt;
&lt;br /&gt;
 mkdir build-gcc build-g++&lt;br /&gt;
 cvs checkout inkscape&lt;br /&gt;
 cd inkscape&lt;br /&gt;
 libtoolize --copy --force&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 cd ../build-gcc&lt;br /&gt;
 CFLAGS='-g -O0 -Wall' CC='ccache gcc' ../inkscape/configure&lt;br /&gt;
 cd ../build-g++&lt;br /&gt;
 CXXFLAGS='-g -O0 -Wall' CXX='ccache g++' ../inkscape/configure&lt;br /&gt;
 cd ../build-gcc &amp;amp;&amp;amp; make -j 3&lt;br /&gt;
 cd ../build-g++ &amp;amp;&amp;amp; make -j 3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turning off just optimization (which can produce strange results in debuggers):&lt;br /&gt;
&lt;br /&gt;
 export CXXFLAGS='-g -O0 -Wall'&lt;br /&gt;
 export CFLAGS='-g -O0 -Wall'&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
See [[TestingInkscape]] for information on building and executing (unit) tests.&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;/div&gt;</summary>
		<author><name>Eduardo</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape&amp;diff=48264</id>
		<title>Compiling Inkscape</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape&amp;diff=48264"/>
		<updated>2009-03-07T23:19:27Z</updated>

		<summary type="html">&lt;p&gt;Eduardo: /* libSigc++ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hopefully, Inkscape will compile right out of the box.  If it doesn't, well that's what this page is for.&lt;br /&gt;
&lt;br /&gt;
Jot down notes, questions, findings, tips, etc. here on things you run into.  It's a good idea to&lt;br /&gt;
make mention of what version of the code you're trying to compile, the distribution you're running,&lt;br /&gt;
and other such information that might be pertinent.&lt;br /&gt;
&lt;br /&gt;
If legitimate bugs are found or patches developed, please move them to the tracker at Sourceforge&lt;br /&gt;
rather than inlining them here.  &lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
Inkscape needs automake1.7 or automake1.8 to compile NOT automake1.9 it has a bug ( link: http://sourceforge.net/mailarchive/message.php?msg_id=10288631 ) that prevents compiling of Inkscape. If you have already tried to do a $ make with automake1.9 then $ ./autogen.sh from your inkscape-cvs dir and proceed as normal.&lt;br /&gt;
(On the other hand, I've repeatedly built it with automake-1.9.4.  ralf)&lt;br /&gt;
&lt;br /&gt;
You may want to also [http://wiki.inkscape.org/wiki/index.php/OtherProjects#Inkscape_Plugins.2C_Scripts.2C_and_Templates add plugins] during or after compiling.&lt;br /&gt;
&lt;br /&gt;
= OS &amp;amp;amp; Distribution Specific =&lt;br /&gt;
* '''Linux'''&lt;br /&gt;
** [[CompilingAutopackage|Autopackage]] (multi-distro)&lt;br /&gt;
** [[CompilingFedora|Fedora]]&lt;br /&gt;
** [[CompilingGentoo|Gentoo]]&lt;br /&gt;
** [[CompilingDebian|Debian]]&lt;br /&gt;
** [[CompilingUbuntu|Ubuntu]]&lt;br /&gt;
** [[CompilingYellowDog|Yellow Dog]]&lt;br /&gt;
** [[CompilingSuse|Suse]]&lt;br /&gt;
** [[CompilingSlackware|Slackware]]&lt;br /&gt;
** [[CompilingYoper|Yoper]]&lt;br /&gt;
** [[CompilingMandrake|Mandrakelinux]]&lt;br /&gt;
* [[CompilingMacOsX|Mac OS X]]&lt;br /&gt;
* [[Win32Port|Windows]]&lt;br /&gt;
* [[CompilingSPARC|SPARC]]&lt;br /&gt;
* [[CompilingSunSolaris|Sun Solaris]]&lt;br /&gt;
* [[CompilingStatic|Static Compiles]]&lt;br /&gt;
&lt;br /&gt;
= Package Config (pkg-config) =&lt;br /&gt;
&lt;br /&gt;
If you must compile and install any of these from source, you may find an error like this when trying to&lt;br /&gt;
compile them or Inkscape itself:&lt;br /&gt;
&lt;br /&gt;
 checking for gtk+-2.0 &amp;gt;= 2.0.0  libxml-2.0 &amp;gt;= 2-2.4.24  sigc++-1.2  gtkmm-2.0... Package gtkmm-2.0 was not found in the  pkg-config search path.&lt;br /&gt;
 Perhaps you should add the directory containing `gtkmm-2.0.pc'&lt;br /&gt;
 to the PKG_CONFIG_PATH environment variable&lt;br /&gt;
 No package 'gtkmm-2.0' found&lt;br /&gt;
&lt;br /&gt;
A solution is to set the PKG_CONFIG_PATH variable as so:&lt;br /&gt;
&lt;br /&gt;
for bash:&lt;br /&gt;
     export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig&lt;br /&gt;
for csh:&lt;br /&gt;
     setenv PKG_CONFIG_PATH /usr/local/lib/pkgconfig:/usr/lib/pkgconfig&lt;br /&gt;
&lt;br /&gt;
A good place to put this line is in your .bashrc or .cshrc file&lt;br /&gt;
&lt;br /&gt;
= Getting and Installing Source packages =&lt;br /&gt;
&lt;br /&gt;
If your distro does not have some packages available (like many don't, ie, Fedora Core 2), you must often download&lt;br /&gt;
source packages and build and install them yourself.  Actually this is not that hard, and is similar to&lt;br /&gt;
doing a Gentoo 'emerge.'&lt;br /&gt;
&lt;br /&gt;
* Usually you download a file with a name like somepackage-1.0.tar.gz.  Unpack it with&lt;br /&gt;
&lt;br /&gt;
    $ tar zxf somepackage-1.0.tar.gz&lt;br /&gt;
    or&lt;br /&gt;
    $ tar jxf somepackage-1.0.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Then 'cd' into the new directory.&lt;br /&gt;
&lt;br /&gt;
* Configure it with the command:&lt;br /&gt;
&lt;br /&gt;
    $ ./configure&lt;br /&gt;
&lt;br /&gt;
* Build it with:&lt;br /&gt;
&lt;br /&gt;
    $ make&lt;br /&gt;
&lt;br /&gt;
* As the 'root' user,  install it with:&lt;br /&gt;
&lt;br /&gt;
    # make install&lt;br /&gt;
&lt;br /&gt;
== Boehm-GC ==&lt;br /&gt;
&lt;br /&gt;
Source: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source&lt;br /&gt;
&lt;br /&gt;
*  Download this file:&lt;br /&gt;
**   http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.8.tar.gz&lt;br /&gt;
*  Unpack it&lt;br /&gt;
**   tar zxf gc6.8.tar.gz&lt;br /&gt;
*  Configure and build it&lt;br /&gt;
**   cd gc6.8&lt;br /&gt;
**   ./configure --disable-shared --enable-static&lt;br /&gt;
**   make&lt;br /&gt;
*  Install it&lt;br /&gt;
**   su    (or however else you become root)&lt;br /&gt;
**   make install&lt;br /&gt;
&lt;br /&gt;
Binaries:  If searching for a package for GC, the name of it is sometimes:&lt;br /&gt;
&lt;br /&gt;
* gc&lt;br /&gt;
* libgc&lt;br /&gt;
* gc-devel&lt;br /&gt;
* libgc-devel&lt;br /&gt;
* boehm-gc  (on Gentoo)&lt;br /&gt;
* debian/ubuntu:  sudo apt-get install libgc-dev&lt;br /&gt;
&lt;br /&gt;
== libSigc++ ==&lt;br /&gt;
&lt;br /&gt;
Source: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.2/libsigc++-2.2.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
With this file, and for [[GlibMM]] and [[GtkMM]] below, it is usually desirable for us developers to&lt;br /&gt;
build this C++ library statically.  This removes a dependency that might be difficult for an&lt;br /&gt;
end-user during installation.  Configure it with:&lt;br /&gt;
&lt;br /&gt;
    ./configure --enable-static --disable-shared&lt;br /&gt;
&lt;br /&gt;
== [[GlibMM]] ==&lt;br /&gt;
Try to match your Glib2 version with GlibMM's version. For example, if your Glib2 is 2.16.6, download glibmm-2.16.4.tar.bz2.&lt;br /&gt;
Latest source: http://ftp.gnome.org/pub/GNOME/sources/glibmm/&lt;br /&gt;
&lt;br /&gt;
== [[GtkMM]] ==&lt;br /&gt;
&lt;br /&gt;
Latest source: http://ftp.gnome.org/pub/GNOME/sources/gtkmm/&lt;br /&gt;
&lt;br /&gt;
== cairomm ==&lt;br /&gt;
&lt;br /&gt;
if you got prompted about cairomm, try first solve your cairo version, so you can grab [http://www.cairographics.org/releases/ there] a compatible version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Boost ==&lt;br /&gt;
&lt;br /&gt;
Many users have reported when building from source that after installing the above dependencies, the configure script still requires a &amp;quot;boost&amp;quot; package. It can be found below, but even after installing, you will need to create a symlink to allow the configure script to find it:&lt;br /&gt;
&lt;br /&gt;
'''ln -s /usr/local/include/boost_1_xx_x/boost /usr/local/include/boost'''&lt;br /&gt;
&lt;br /&gt;
Source: http://www.boost.org/users/download/&lt;br /&gt;
&lt;br /&gt;
== Poppler ==&lt;br /&gt;
&lt;br /&gt;
Source: http://poppler.freedesktop.org/&lt;br /&gt;
&lt;br /&gt;
Note: there seems to be an incompatibility with recent versions of poppler. See the following bugreport: https://bugs.launchpad.net/inkscape/+bug/254849&lt;br /&gt;
&lt;br /&gt;
Also, the &amp;lt;code&amp;gt;-DPOPPLER_NEW_GFXFONT&amp;lt;/code&amp;gt; hack does not seem to work with vanilla 0.46, you should obtain a snapshot version instead.&lt;br /&gt;
&lt;br /&gt;
One of the mentioned compilation errors is due to a mis-configured Poppler build/install - you will see the following errors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;In file included from extension/internal/pdfinput/svg-builder.cpp:19:&lt;br /&gt;
extension/internal/pdfinput/svg-builder.h:32:23: error: CharTypes.h: No such file or directory&lt;br /&gt;
...&lt;br /&gt;
make[2]: *** [extension/internal/pdfinput/svg-builder.o] Error 1&lt;br /&gt;
make[2]: Leaving directory `/tmp/build/inkscape-0.46/src'&lt;br /&gt;
make[1]: *** [all-recursive] Error 1&lt;br /&gt;
make[1]: Leaving directory `/tmp/build/inkscape-0.46'&lt;br /&gt;
make: *** [all] Error 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Developer Compilation =&lt;br /&gt;
&lt;br /&gt;
Plain vanilla compilation is done as documented in INSTALL; ./autogen.sh (optionally); ./configure; make; su &amp;amp;&amp;amp; make test; make install (optional).  See INSTALL for more on that.&lt;br /&gt;
&lt;br /&gt;
But if you're going to be doing a lot of development, there's some tricks and techniques you should know,&lt;br /&gt;
to get best results.&lt;br /&gt;
&lt;br /&gt;
#  Turn off optimization&lt;br /&gt;
#  Use ccache for faster compilation&lt;br /&gt;
#  Set up a separate build directory (nice for testing both gcc and g++, or cross compiling)&lt;br /&gt;
#  Use the -j N flag to optimize for the number of processors in your machine, with N = 1 + no. proc's&lt;br /&gt;
&lt;br /&gt;
Example:  Setting up both gcc and g++ build environments (in separate tree), and using ccache for faster&lt;br /&gt;
compilations on a dual-processor machine, with no optimization, assuming /bin/bash:&lt;br /&gt;
&lt;br /&gt;
 mkdir build-gcc build-g++&lt;br /&gt;
 cvs checkout inkscape&lt;br /&gt;
 cd inkscape&lt;br /&gt;
 libtoolize --copy --force&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 cd ../build-gcc&lt;br /&gt;
 CFLAGS='-g -O0 -Wall' CC='ccache gcc' ../inkscape/configure&lt;br /&gt;
 cd ../build-g++&lt;br /&gt;
 CXXFLAGS='-g -O0 -Wall' CXX='ccache g++' ../inkscape/configure&lt;br /&gt;
 cd ../build-gcc &amp;amp;&amp;amp; make -j 3&lt;br /&gt;
 cd ../build-g++ &amp;amp;&amp;amp; make -j 3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turning off just optimization (which can produce strange results in debuggers):&lt;br /&gt;
&lt;br /&gt;
 export CXXFLAGS='-g -O0 -Wall'&lt;br /&gt;
 export CFLAGS='-g -O0 -Wall'&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
See [[TestingInkscape]] for information on building and executing (unit) tests.&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;/div&gt;</summary>
		<author><name>Eduardo</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape&amp;diff=48254</id>
		<title>Compiling Inkscape</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape&amp;diff=48254"/>
		<updated>2009-03-07T23:18:13Z</updated>

		<summary type="html">&lt;p&gt;Eduardo: /* libSigc++ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hopefully, Inkscape will compile right out of the box.  If it doesn't, well that's what this page is for.&lt;br /&gt;
&lt;br /&gt;
Jot down notes, questions, findings, tips, etc. here on things you run into.  It's a good idea to&lt;br /&gt;
make mention of what version of the code you're trying to compile, the distribution you're running,&lt;br /&gt;
and other such information that might be pertinent.&lt;br /&gt;
&lt;br /&gt;
If legitimate bugs are found or patches developed, please move them to the tracker at Sourceforge&lt;br /&gt;
rather than inlining them here.  &lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
Inkscape needs automake1.7 or automake1.8 to compile NOT automake1.9 it has a bug ( link: http://sourceforge.net/mailarchive/message.php?msg_id=10288631 ) that prevents compiling of Inkscape. If you have already tried to do a $ make with automake1.9 then $ ./autogen.sh from your inkscape-cvs dir and proceed as normal.&lt;br /&gt;
(On the other hand, I've repeatedly built it with automake-1.9.4.  ralf)&lt;br /&gt;
&lt;br /&gt;
You may want to also [http://wiki.inkscape.org/wiki/index.php/OtherProjects#Inkscape_Plugins.2C_Scripts.2C_and_Templates add plugins] during or after compiling.&lt;br /&gt;
&lt;br /&gt;
= OS &amp;amp;amp; Distribution Specific =&lt;br /&gt;
* '''Linux'''&lt;br /&gt;
** [[CompilingAutopackage|Autopackage]] (multi-distro)&lt;br /&gt;
** [[CompilingFedora|Fedora]]&lt;br /&gt;
** [[CompilingGentoo|Gentoo]]&lt;br /&gt;
** [[CompilingDebian|Debian]]&lt;br /&gt;
** [[CompilingUbuntu|Ubuntu]]&lt;br /&gt;
** [[CompilingYellowDog|Yellow Dog]]&lt;br /&gt;
** [[CompilingSuse|Suse]]&lt;br /&gt;
** [[CompilingSlackware|Slackware]]&lt;br /&gt;
** [[CompilingYoper|Yoper]]&lt;br /&gt;
** [[CompilingMandrake|Mandrakelinux]]&lt;br /&gt;
* [[CompilingMacOsX|Mac OS X]]&lt;br /&gt;
* [[Win32Port|Windows]]&lt;br /&gt;
* [[CompilingSPARC|SPARC]]&lt;br /&gt;
* [[CompilingSunSolaris|Sun Solaris]]&lt;br /&gt;
* [[CompilingStatic|Static Compiles]]&lt;br /&gt;
&lt;br /&gt;
= Package Config (pkg-config) =&lt;br /&gt;
&lt;br /&gt;
If you must compile and install any of these from source, you may find an error like this when trying to&lt;br /&gt;
compile them or Inkscape itself:&lt;br /&gt;
&lt;br /&gt;
 checking for gtk+-2.0 &amp;gt;= 2.0.0  libxml-2.0 &amp;gt;= 2-2.4.24  sigc++-1.2  gtkmm-2.0... Package gtkmm-2.0 was not found in the  pkg-config search path.&lt;br /&gt;
 Perhaps you should add the directory containing `gtkmm-2.0.pc'&lt;br /&gt;
 to the PKG_CONFIG_PATH environment variable&lt;br /&gt;
 No package 'gtkmm-2.0' found&lt;br /&gt;
&lt;br /&gt;
A solution is to set the PKG_CONFIG_PATH variable as so:&lt;br /&gt;
&lt;br /&gt;
for bash:&lt;br /&gt;
     export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig&lt;br /&gt;
for csh:&lt;br /&gt;
     setenv PKG_CONFIG_PATH /usr/local/lib/pkgconfig:/usr/lib/pkgconfig&lt;br /&gt;
&lt;br /&gt;
A good place to put this line is in your .bashrc or .cshrc file&lt;br /&gt;
&lt;br /&gt;
= Getting and Installing Source packages =&lt;br /&gt;
&lt;br /&gt;
If your distro does not have some packages available (like many don't, ie, Fedora Core 2), you must often download&lt;br /&gt;
source packages and build and install them yourself.  Actually this is not that hard, and is similar to&lt;br /&gt;
doing a Gentoo 'emerge.'&lt;br /&gt;
&lt;br /&gt;
* Usually you download a file with a name like somepackage-1.0.tar.gz.  Unpack it with&lt;br /&gt;
&lt;br /&gt;
    $ tar zxf somepackage-1.0.tar.gz&lt;br /&gt;
    or&lt;br /&gt;
    $ tar jxf somepackage-1.0.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Then 'cd' into the new directory.&lt;br /&gt;
&lt;br /&gt;
* Configure it with the command:&lt;br /&gt;
&lt;br /&gt;
    $ ./configure&lt;br /&gt;
&lt;br /&gt;
* Build it with:&lt;br /&gt;
&lt;br /&gt;
    $ make&lt;br /&gt;
&lt;br /&gt;
* As the 'root' user,  install it with:&lt;br /&gt;
&lt;br /&gt;
    # make install&lt;br /&gt;
&lt;br /&gt;
== Boehm-GC ==&lt;br /&gt;
&lt;br /&gt;
Source: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source&lt;br /&gt;
&lt;br /&gt;
*  Download this file:&lt;br /&gt;
**   http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.8.tar.gz&lt;br /&gt;
*  Unpack it&lt;br /&gt;
**   tar zxf gc6.8.tar.gz&lt;br /&gt;
*  Configure and build it&lt;br /&gt;
**   cd gc6.8&lt;br /&gt;
**   ./configure --disable-shared --enable-static&lt;br /&gt;
**   make&lt;br /&gt;
*  Install it&lt;br /&gt;
**   su    (or however else you become root)&lt;br /&gt;
**   make install&lt;br /&gt;
&lt;br /&gt;
Binaries:  If searching for a package for GC, the name of it is sometimes:&lt;br /&gt;
&lt;br /&gt;
* gc&lt;br /&gt;
* libgc&lt;br /&gt;
* gc-devel&lt;br /&gt;
* libgc-devel&lt;br /&gt;
* boehm-gc  (on Gentoo)&lt;br /&gt;
* debian/ubuntu:  sudo apt-get install libgc-dev&lt;br /&gt;
&lt;br /&gt;
== libSigc++ ==&lt;br /&gt;
&lt;br /&gt;
Source: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/libsigc++-2.2.3.tar.bz2&lt;br /&gt;
&lt;br /&gt;
With this file, and for [[GlibMM]] and [[GtkMM]] below, it is usually desirable for us developers to&lt;br /&gt;
build this C++ library statically.  This removes a dependency that might be difficult for an&lt;br /&gt;
end-user during installation.  Configure it with:&lt;br /&gt;
&lt;br /&gt;
    ./configure --enable-static --disable-shared&lt;br /&gt;
&lt;br /&gt;
== [[GlibMM]] ==&lt;br /&gt;
Try to match your Glib2 version with GlibMM's version. For example, if your Glib2 is 2.16.6, download glibmm-2.16.4.tar.bz2.&lt;br /&gt;
Latest source: http://ftp.gnome.org/pub/GNOME/sources/glibmm/&lt;br /&gt;
&lt;br /&gt;
== [[GtkMM]] ==&lt;br /&gt;
&lt;br /&gt;
Latest source: http://ftp.gnome.org/pub/GNOME/sources/gtkmm/&lt;br /&gt;
&lt;br /&gt;
== cairomm ==&lt;br /&gt;
&lt;br /&gt;
if you got prompted about cairomm, try first solve your cairo version, so you can grab [http://www.cairographics.org/releases/ there] a compatible version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Boost ==&lt;br /&gt;
&lt;br /&gt;
Many users have reported when building from source that after installing the above dependencies, the configure script still requires a &amp;quot;boost&amp;quot; package. It can be found below, but even after installing, you will need to create a symlink to allow the configure script to find it:&lt;br /&gt;
&lt;br /&gt;
'''ln -s /usr/local/include/boost_1_xx_x/boost /usr/local/include/boost'''&lt;br /&gt;
&lt;br /&gt;
Source: http://www.boost.org/users/download/&lt;br /&gt;
&lt;br /&gt;
== Poppler ==&lt;br /&gt;
&lt;br /&gt;
Source: http://poppler.freedesktop.org/&lt;br /&gt;
&lt;br /&gt;
Note: there seems to be an incompatibility with recent versions of poppler. See the following bugreport: https://bugs.launchpad.net/inkscape/+bug/254849&lt;br /&gt;
&lt;br /&gt;
Also, the &amp;lt;code&amp;gt;-DPOPPLER_NEW_GFXFONT&amp;lt;/code&amp;gt; hack does not seem to work with vanilla 0.46, you should obtain a snapshot version instead.&lt;br /&gt;
&lt;br /&gt;
One of the mentioned compilation errors is due to a mis-configured Poppler build/install - you will see the following errors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;In file included from extension/internal/pdfinput/svg-builder.cpp:19:&lt;br /&gt;
extension/internal/pdfinput/svg-builder.h:32:23: error: CharTypes.h: No such file or directory&lt;br /&gt;
...&lt;br /&gt;
make[2]: *** [extension/internal/pdfinput/svg-builder.o] Error 1&lt;br /&gt;
make[2]: Leaving directory `/tmp/build/inkscape-0.46/src'&lt;br /&gt;
make[1]: *** [all-recursive] Error 1&lt;br /&gt;
make[1]: Leaving directory `/tmp/build/inkscape-0.46'&lt;br /&gt;
make: *** [all] Error 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Developer Compilation =&lt;br /&gt;
&lt;br /&gt;
Plain vanilla compilation is done as documented in INSTALL; ./autogen.sh (optionally); ./configure; make; su &amp;amp;&amp;amp; make test; make install (optional).  See INSTALL for more on that.&lt;br /&gt;
&lt;br /&gt;
But if you're going to be doing a lot of development, there's some tricks and techniques you should know,&lt;br /&gt;
to get best results.&lt;br /&gt;
&lt;br /&gt;
#  Turn off optimization&lt;br /&gt;
#  Use ccache for faster compilation&lt;br /&gt;
#  Set up a separate build directory (nice for testing both gcc and g++, or cross compiling)&lt;br /&gt;
#  Use the -j N flag to optimize for the number of processors in your machine, with N = 1 + no. proc's&lt;br /&gt;
&lt;br /&gt;
Example:  Setting up both gcc and g++ build environments (in separate tree), and using ccache for faster&lt;br /&gt;
compilations on a dual-processor machine, with no optimization, assuming /bin/bash:&lt;br /&gt;
&lt;br /&gt;
 mkdir build-gcc build-g++&lt;br /&gt;
 cvs checkout inkscape&lt;br /&gt;
 cd inkscape&lt;br /&gt;
 libtoolize --copy --force&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 cd ../build-gcc&lt;br /&gt;
 CFLAGS='-g -O0 -Wall' CC='ccache gcc' ../inkscape/configure&lt;br /&gt;
 cd ../build-g++&lt;br /&gt;
 CXXFLAGS='-g -O0 -Wall' CXX='ccache g++' ../inkscape/configure&lt;br /&gt;
 cd ../build-gcc &amp;amp;&amp;amp; make -j 3&lt;br /&gt;
 cd ../build-g++ &amp;amp;&amp;amp; make -j 3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turning off just optimization (which can produce strange results in debuggers):&lt;br /&gt;
&lt;br /&gt;
 export CXXFLAGS='-g -O0 -Wall'&lt;br /&gt;
 export CFLAGS='-g -O0 -Wall'&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
See [[TestingInkscape]] for information on building and executing (unit) tests.&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;/div&gt;</summary>
		<author><name>Eduardo</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape&amp;diff=48244</id>
		<title>Compiling Inkscape</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape&amp;diff=48244"/>
		<updated>2009-03-07T23:16:43Z</updated>

		<summary type="html">&lt;p&gt;Eduardo: /* GlibMM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hopefully, Inkscape will compile right out of the box.  If it doesn't, well that's what this page is for.&lt;br /&gt;
&lt;br /&gt;
Jot down notes, questions, findings, tips, etc. here on things you run into.  It's a good idea to&lt;br /&gt;
make mention of what version of the code you're trying to compile, the distribution you're running,&lt;br /&gt;
and other such information that might be pertinent.&lt;br /&gt;
&lt;br /&gt;
If legitimate bugs are found or patches developed, please move them to the tracker at Sourceforge&lt;br /&gt;
rather than inlining them here.  &lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
Inkscape needs automake1.7 or automake1.8 to compile NOT automake1.9 it has a bug ( link: http://sourceforge.net/mailarchive/message.php?msg_id=10288631 ) that prevents compiling of Inkscape. If you have already tried to do a $ make with automake1.9 then $ ./autogen.sh from your inkscape-cvs dir and proceed as normal.&lt;br /&gt;
(On the other hand, I've repeatedly built it with automake-1.9.4.  ralf)&lt;br /&gt;
&lt;br /&gt;
You may want to also [http://wiki.inkscape.org/wiki/index.php/OtherProjects#Inkscape_Plugins.2C_Scripts.2C_and_Templates add plugins] during or after compiling.&lt;br /&gt;
&lt;br /&gt;
= OS &amp;amp;amp; Distribution Specific =&lt;br /&gt;
* '''Linux'''&lt;br /&gt;
** [[CompilingAutopackage|Autopackage]] (multi-distro)&lt;br /&gt;
** [[CompilingFedora|Fedora]]&lt;br /&gt;
** [[CompilingGentoo|Gentoo]]&lt;br /&gt;
** [[CompilingDebian|Debian]]&lt;br /&gt;
** [[CompilingUbuntu|Ubuntu]]&lt;br /&gt;
** [[CompilingYellowDog|Yellow Dog]]&lt;br /&gt;
** [[CompilingSuse|Suse]]&lt;br /&gt;
** [[CompilingSlackware|Slackware]]&lt;br /&gt;
** [[CompilingYoper|Yoper]]&lt;br /&gt;
** [[CompilingMandrake|Mandrakelinux]]&lt;br /&gt;
* [[CompilingMacOsX|Mac OS X]]&lt;br /&gt;
* [[Win32Port|Windows]]&lt;br /&gt;
* [[CompilingSPARC|SPARC]]&lt;br /&gt;
* [[CompilingSunSolaris|Sun Solaris]]&lt;br /&gt;
* [[CompilingStatic|Static Compiles]]&lt;br /&gt;
&lt;br /&gt;
= Package Config (pkg-config) =&lt;br /&gt;
&lt;br /&gt;
If you must compile and install any of these from source, you may find an error like this when trying to&lt;br /&gt;
compile them or Inkscape itself:&lt;br /&gt;
&lt;br /&gt;
 checking for gtk+-2.0 &amp;gt;= 2.0.0  libxml-2.0 &amp;gt;= 2-2.4.24  sigc++-1.2  gtkmm-2.0... Package gtkmm-2.0 was not found in the  pkg-config search path.&lt;br /&gt;
 Perhaps you should add the directory containing `gtkmm-2.0.pc'&lt;br /&gt;
 to the PKG_CONFIG_PATH environment variable&lt;br /&gt;
 No package 'gtkmm-2.0' found&lt;br /&gt;
&lt;br /&gt;
A solution is to set the PKG_CONFIG_PATH variable as so:&lt;br /&gt;
&lt;br /&gt;
for bash:&lt;br /&gt;
     export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig&lt;br /&gt;
for csh:&lt;br /&gt;
     setenv PKG_CONFIG_PATH /usr/local/lib/pkgconfig:/usr/lib/pkgconfig&lt;br /&gt;
&lt;br /&gt;
A good place to put this line is in your .bashrc or .cshrc file&lt;br /&gt;
&lt;br /&gt;
= Getting and Installing Source packages =&lt;br /&gt;
&lt;br /&gt;
If your distro does not have some packages available (like many don't, ie, Fedora Core 2), you must often download&lt;br /&gt;
source packages and build and install them yourself.  Actually this is not that hard, and is similar to&lt;br /&gt;
doing a Gentoo 'emerge.'&lt;br /&gt;
&lt;br /&gt;
* Usually you download a file with a name like somepackage-1.0.tar.gz.  Unpack it with&lt;br /&gt;
&lt;br /&gt;
    $ tar zxf somepackage-1.0.tar.gz&lt;br /&gt;
    or&lt;br /&gt;
    $ tar jxf somepackage-1.0.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Then 'cd' into the new directory.&lt;br /&gt;
&lt;br /&gt;
* Configure it with the command:&lt;br /&gt;
&lt;br /&gt;
    $ ./configure&lt;br /&gt;
&lt;br /&gt;
* Build it with:&lt;br /&gt;
&lt;br /&gt;
    $ make&lt;br /&gt;
&lt;br /&gt;
* As the 'root' user,  install it with:&lt;br /&gt;
&lt;br /&gt;
    # make install&lt;br /&gt;
&lt;br /&gt;
== Boehm-GC ==&lt;br /&gt;
&lt;br /&gt;
Source: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source&lt;br /&gt;
&lt;br /&gt;
*  Download this file:&lt;br /&gt;
**   http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.8.tar.gz&lt;br /&gt;
*  Unpack it&lt;br /&gt;
**   tar zxf gc6.8.tar.gz&lt;br /&gt;
*  Configure and build it&lt;br /&gt;
**   cd gc6.8&lt;br /&gt;
**   ./configure --disable-shared --enable-static&lt;br /&gt;
**   make&lt;br /&gt;
*  Install it&lt;br /&gt;
**   su    (or however else you become root)&lt;br /&gt;
**   make install&lt;br /&gt;
&lt;br /&gt;
Binaries:  If searching for a package for GC, the name of it is sometimes:&lt;br /&gt;
&lt;br /&gt;
* gc&lt;br /&gt;
* libgc&lt;br /&gt;
* gc-devel&lt;br /&gt;
* libgc-devel&lt;br /&gt;
* boehm-gc  (on Gentoo)&lt;br /&gt;
* debian/ubuntu:  sudo apt-get install libgc-dev&lt;br /&gt;
&lt;br /&gt;
== libSigc++ ==&lt;br /&gt;
&lt;br /&gt;
Source: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/&lt;br /&gt;
&lt;br /&gt;
With this file, and for [[GlibMM]] and [[GtkMM]] below, it is usually desirable for us developers to&lt;br /&gt;
build this C++ library statically.  This removes a dependency that might be difficult for an&lt;br /&gt;
end-user during installation.  Configure it with:&lt;br /&gt;
&lt;br /&gt;
    ./configure --enable-static --disable-shared&lt;br /&gt;
&lt;br /&gt;
== [[GlibMM]] ==&lt;br /&gt;
Try to match your Glib2 version with GlibMM's version. For example, if your Glib2 is 2.16.6, download glibmm-2.16.4.tar.bz2.&lt;br /&gt;
Latest source: http://ftp.gnome.org/pub/GNOME/sources/glibmm/&lt;br /&gt;
&lt;br /&gt;
== [[GtkMM]] ==&lt;br /&gt;
&lt;br /&gt;
Latest source: http://ftp.gnome.org/pub/GNOME/sources/gtkmm/&lt;br /&gt;
&lt;br /&gt;
== cairomm ==&lt;br /&gt;
&lt;br /&gt;
if you got prompted about cairomm, try first solve your cairo version, so you can grab [http://www.cairographics.org/releases/ there] a compatible version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Boost ==&lt;br /&gt;
&lt;br /&gt;
Many users have reported when building from source that after installing the above dependencies, the configure script still requires a &amp;quot;boost&amp;quot; package. It can be found below, but even after installing, you will need to create a symlink to allow the configure script to find it:&lt;br /&gt;
&lt;br /&gt;
'''ln -s /usr/local/include/boost_1_xx_x/boost /usr/local/include/boost'''&lt;br /&gt;
&lt;br /&gt;
Source: http://www.boost.org/users/download/&lt;br /&gt;
&lt;br /&gt;
== Poppler ==&lt;br /&gt;
&lt;br /&gt;
Source: http://poppler.freedesktop.org/&lt;br /&gt;
&lt;br /&gt;
Note: there seems to be an incompatibility with recent versions of poppler. See the following bugreport: https://bugs.launchpad.net/inkscape/+bug/254849&lt;br /&gt;
&lt;br /&gt;
Also, the &amp;lt;code&amp;gt;-DPOPPLER_NEW_GFXFONT&amp;lt;/code&amp;gt; hack does not seem to work with vanilla 0.46, you should obtain a snapshot version instead.&lt;br /&gt;
&lt;br /&gt;
One of the mentioned compilation errors is due to a mis-configured Poppler build/install - you will see the following errors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;In file included from extension/internal/pdfinput/svg-builder.cpp:19:&lt;br /&gt;
extension/internal/pdfinput/svg-builder.h:32:23: error: CharTypes.h: No such file or directory&lt;br /&gt;
...&lt;br /&gt;
make[2]: *** [extension/internal/pdfinput/svg-builder.o] Error 1&lt;br /&gt;
make[2]: Leaving directory `/tmp/build/inkscape-0.46/src'&lt;br /&gt;
make[1]: *** [all-recursive] Error 1&lt;br /&gt;
make[1]: Leaving directory `/tmp/build/inkscape-0.46'&lt;br /&gt;
make: *** [all] Error 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Developer Compilation =&lt;br /&gt;
&lt;br /&gt;
Plain vanilla compilation is done as documented in INSTALL; ./autogen.sh (optionally); ./configure; make; su &amp;amp;&amp;amp; make test; make install (optional).  See INSTALL for more on that.&lt;br /&gt;
&lt;br /&gt;
But if you're going to be doing a lot of development, there's some tricks and techniques you should know,&lt;br /&gt;
to get best results.&lt;br /&gt;
&lt;br /&gt;
#  Turn off optimization&lt;br /&gt;
#  Use ccache for faster compilation&lt;br /&gt;
#  Set up a separate build directory (nice for testing both gcc and g++, or cross compiling)&lt;br /&gt;
#  Use the -j N flag to optimize for the number of processors in your machine, with N = 1 + no. proc's&lt;br /&gt;
&lt;br /&gt;
Example:  Setting up both gcc and g++ build environments (in separate tree), and using ccache for faster&lt;br /&gt;
compilations on a dual-processor machine, with no optimization, assuming /bin/bash:&lt;br /&gt;
&lt;br /&gt;
 mkdir build-gcc build-g++&lt;br /&gt;
 cvs checkout inkscape&lt;br /&gt;
 cd inkscape&lt;br /&gt;
 libtoolize --copy --force&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 cd ../build-gcc&lt;br /&gt;
 CFLAGS='-g -O0 -Wall' CC='ccache gcc' ../inkscape/configure&lt;br /&gt;
 cd ../build-g++&lt;br /&gt;
 CXXFLAGS='-g -O0 -Wall' CXX='ccache g++' ../inkscape/configure&lt;br /&gt;
 cd ../build-gcc &amp;amp;&amp;amp; make -j 3&lt;br /&gt;
 cd ../build-g++ &amp;amp;&amp;amp; make -j 3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turning off just optimization (which can produce strange results in debuggers):&lt;br /&gt;
&lt;br /&gt;
 export CXXFLAGS='-g -O0 -Wall'&lt;br /&gt;
 export CFLAGS='-g -O0 -Wall'&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
See [[TestingInkscape]] for information on building and executing (unit) tests.&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;/div&gt;</summary>
		<author><name>Eduardo</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape&amp;diff=48234</id>
		<title>Compiling Inkscape</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape&amp;diff=48234"/>
		<updated>2009-03-07T22:22:47Z</updated>

		<summary type="html">&lt;p&gt;Eduardo: /* Boehm-GC */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hopefully, Inkscape will compile right out of the box.  If it doesn't, well that's what this page is for.&lt;br /&gt;
&lt;br /&gt;
Jot down notes, questions, findings, tips, etc. here on things you run into.  It's a good idea to&lt;br /&gt;
make mention of what version of the code you're trying to compile, the distribution you're running,&lt;br /&gt;
and other such information that might be pertinent.&lt;br /&gt;
&lt;br /&gt;
If legitimate bugs are found or patches developed, please move them to the tracker at Sourceforge&lt;br /&gt;
rather than inlining them here.  &lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
Inkscape needs automake1.7 or automake1.8 to compile NOT automake1.9 it has a bug ( link: http://sourceforge.net/mailarchive/message.php?msg_id=10288631 ) that prevents compiling of Inkscape. If you have already tried to do a $ make with automake1.9 then $ ./autogen.sh from your inkscape-cvs dir and proceed as normal.&lt;br /&gt;
(On the other hand, I've repeatedly built it with automake-1.9.4.  ralf)&lt;br /&gt;
&lt;br /&gt;
You may want to also [http://wiki.inkscape.org/wiki/index.php/OtherProjects#Inkscape_Plugins.2C_Scripts.2C_and_Templates add plugins] during or after compiling.&lt;br /&gt;
&lt;br /&gt;
= OS &amp;amp;amp; Distribution Specific =&lt;br /&gt;
* '''Linux'''&lt;br /&gt;
** [[CompilingAutopackage|Autopackage]] (multi-distro)&lt;br /&gt;
** [[CompilingFedora|Fedora]]&lt;br /&gt;
** [[CompilingGentoo|Gentoo]]&lt;br /&gt;
** [[CompilingDebian|Debian]]&lt;br /&gt;
** [[CompilingUbuntu|Ubuntu]]&lt;br /&gt;
** [[CompilingYellowDog|Yellow Dog]]&lt;br /&gt;
** [[CompilingSuse|Suse]]&lt;br /&gt;
** [[CompilingSlackware|Slackware]]&lt;br /&gt;
** [[CompilingYoper|Yoper]]&lt;br /&gt;
** [[CompilingMandrake|Mandrakelinux]]&lt;br /&gt;
* [[CompilingMacOsX|Mac OS X]]&lt;br /&gt;
* [[Win32Port|Windows]]&lt;br /&gt;
* [[CompilingSPARC|SPARC]]&lt;br /&gt;
* [[CompilingSunSolaris|Sun Solaris]]&lt;br /&gt;
* [[CompilingStatic|Static Compiles]]&lt;br /&gt;
&lt;br /&gt;
= Package Config (pkg-config) =&lt;br /&gt;
&lt;br /&gt;
If you must compile and install any of these from source, you may find an error like this when trying to&lt;br /&gt;
compile them or Inkscape itself:&lt;br /&gt;
&lt;br /&gt;
 checking for gtk+-2.0 &amp;gt;= 2.0.0  libxml-2.0 &amp;gt;= 2-2.4.24  sigc++-1.2  gtkmm-2.0... Package gtkmm-2.0 was not found in the  pkg-config search path.&lt;br /&gt;
 Perhaps you should add the directory containing `gtkmm-2.0.pc'&lt;br /&gt;
 to the PKG_CONFIG_PATH environment variable&lt;br /&gt;
 No package 'gtkmm-2.0' found&lt;br /&gt;
&lt;br /&gt;
A solution is to set the PKG_CONFIG_PATH variable as so:&lt;br /&gt;
&lt;br /&gt;
for bash:&lt;br /&gt;
     export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig&lt;br /&gt;
for csh:&lt;br /&gt;
     setenv PKG_CONFIG_PATH /usr/local/lib/pkgconfig:/usr/lib/pkgconfig&lt;br /&gt;
&lt;br /&gt;
A good place to put this line is in your .bashrc or .cshrc file&lt;br /&gt;
&lt;br /&gt;
= Getting and Installing Source packages =&lt;br /&gt;
&lt;br /&gt;
If your distro does not have some packages available (like many don't, ie, Fedora Core 2), you must often download&lt;br /&gt;
source packages and build and install them yourself.  Actually this is not that hard, and is similar to&lt;br /&gt;
doing a Gentoo 'emerge.'&lt;br /&gt;
&lt;br /&gt;
* Usually you download a file with a name like somepackage-1.0.tar.gz.  Unpack it with&lt;br /&gt;
&lt;br /&gt;
    $ tar zxf somepackage-1.0.tar.gz&lt;br /&gt;
    or&lt;br /&gt;
    $ tar jxf somepackage-1.0.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Then 'cd' into the new directory.&lt;br /&gt;
&lt;br /&gt;
* Configure it with the command:&lt;br /&gt;
&lt;br /&gt;
    $ ./configure&lt;br /&gt;
&lt;br /&gt;
* Build it with:&lt;br /&gt;
&lt;br /&gt;
    $ make&lt;br /&gt;
&lt;br /&gt;
* As the 'root' user,  install it with:&lt;br /&gt;
&lt;br /&gt;
    # make install&lt;br /&gt;
&lt;br /&gt;
== Boehm-GC ==&lt;br /&gt;
&lt;br /&gt;
Source: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source&lt;br /&gt;
&lt;br /&gt;
*  Download this file:&lt;br /&gt;
**   http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.8.tar.gz&lt;br /&gt;
*  Unpack it&lt;br /&gt;
**   tar zxf gc6.8.tar.gz&lt;br /&gt;
*  Configure and build it&lt;br /&gt;
**   cd gc6.8&lt;br /&gt;
**   ./configure --disable-shared --enable-static&lt;br /&gt;
**   make&lt;br /&gt;
*  Install it&lt;br /&gt;
**   su    (or however else you become root)&lt;br /&gt;
**   make install&lt;br /&gt;
&lt;br /&gt;
Binaries:  If searching for a package for GC, the name of it is sometimes:&lt;br /&gt;
&lt;br /&gt;
* gc&lt;br /&gt;
* libgc&lt;br /&gt;
* gc-devel&lt;br /&gt;
* libgc-devel&lt;br /&gt;
* boehm-gc  (on Gentoo)&lt;br /&gt;
* debian/ubuntu:  sudo apt-get install libgc-dev&lt;br /&gt;
&lt;br /&gt;
== libSigc++ ==&lt;br /&gt;
&lt;br /&gt;
Source: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/&lt;br /&gt;
&lt;br /&gt;
With this file, and for [[GlibMM]] and [[GtkMM]] below, it is usually desirable for us developers to&lt;br /&gt;
build this C++ library statically.  This removes a dependency that might be difficult for an&lt;br /&gt;
end-user during installation.  Configure it with:&lt;br /&gt;
&lt;br /&gt;
    ./configure --enable-static --disable-shared&lt;br /&gt;
&lt;br /&gt;
== [[GlibMM]] ==&lt;br /&gt;
&lt;br /&gt;
Latest source: http://ftp.gnome.org/pub/GNOME/sources/glibmm/&lt;br /&gt;
&lt;br /&gt;
== [[GtkMM]] ==&lt;br /&gt;
&lt;br /&gt;
Latest source: http://ftp.gnome.org/pub/GNOME/sources/gtkmm/&lt;br /&gt;
&lt;br /&gt;
== cairomm ==&lt;br /&gt;
&lt;br /&gt;
if you got prompted about cairomm, try first solve your cairo version, so you can grab [http://www.cairographics.org/releases/ there] a compatible version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Boost ==&lt;br /&gt;
&lt;br /&gt;
Many users have reported when building from source that after installing the above dependencies, the configure script still requires a &amp;quot;boost&amp;quot; package. It can be found below, but even after installing, you will need to create a symlink to allow the configure script to find it:&lt;br /&gt;
&lt;br /&gt;
'''ln -s /usr/local/include/boost_1_xx_x/boost /usr/local/include/boost'''&lt;br /&gt;
&lt;br /&gt;
Source: http://www.boost.org/users/download/&lt;br /&gt;
&lt;br /&gt;
== Poppler ==&lt;br /&gt;
&lt;br /&gt;
Source: http://poppler.freedesktop.org/&lt;br /&gt;
&lt;br /&gt;
Note: there seems to be an incompatibility with recent versions of poppler. See the following bugreport: https://bugs.launchpad.net/inkscape/+bug/254849&lt;br /&gt;
&lt;br /&gt;
Also, the &amp;lt;code&amp;gt;-DPOPPLER_NEW_GFXFONT&amp;lt;/code&amp;gt; hack does not seem to work with vanilla 0.46, you should obtain a snapshot version instead.&lt;br /&gt;
&lt;br /&gt;
One of the mentioned compilation errors is due to a mis-configured Poppler build/install - you will see the following errors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;In file included from extension/internal/pdfinput/svg-builder.cpp:19:&lt;br /&gt;
extension/internal/pdfinput/svg-builder.h:32:23: error: CharTypes.h: No such file or directory&lt;br /&gt;
...&lt;br /&gt;
make[2]: *** [extension/internal/pdfinput/svg-builder.o] Error 1&lt;br /&gt;
make[2]: Leaving directory `/tmp/build/inkscape-0.46/src'&lt;br /&gt;
make[1]: *** [all-recursive] Error 1&lt;br /&gt;
make[1]: Leaving directory `/tmp/build/inkscape-0.46'&lt;br /&gt;
make: *** [all] Error 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Developer Compilation =&lt;br /&gt;
&lt;br /&gt;
Plain vanilla compilation is done as documented in INSTALL; ./autogen.sh (optionally); ./configure; make; su &amp;amp;&amp;amp; make test; make install (optional).  See INSTALL for more on that.&lt;br /&gt;
&lt;br /&gt;
But if you're going to be doing a lot of development, there's some tricks and techniques you should know,&lt;br /&gt;
to get best results.&lt;br /&gt;
&lt;br /&gt;
#  Turn off optimization&lt;br /&gt;
#  Use ccache for faster compilation&lt;br /&gt;
#  Set up a separate build directory (nice for testing both gcc and g++, or cross compiling)&lt;br /&gt;
#  Use the -j N flag to optimize for the number of processors in your machine, with N = 1 + no. proc's&lt;br /&gt;
&lt;br /&gt;
Example:  Setting up both gcc and g++ build environments (in separate tree), and using ccache for faster&lt;br /&gt;
compilations on a dual-processor machine, with no optimization, assuming /bin/bash:&lt;br /&gt;
&lt;br /&gt;
 mkdir build-gcc build-g++&lt;br /&gt;
 cvs checkout inkscape&lt;br /&gt;
 cd inkscape&lt;br /&gt;
 libtoolize --copy --force&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 cd ../build-gcc&lt;br /&gt;
 CFLAGS='-g -O0 -Wall' CC='ccache gcc' ../inkscape/configure&lt;br /&gt;
 cd ../build-g++&lt;br /&gt;
 CXXFLAGS='-g -O0 -Wall' CXX='ccache g++' ../inkscape/configure&lt;br /&gt;
 cd ../build-gcc &amp;amp;&amp;amp; make -j 3&lt;br /&gt;
 cd ../build-g++ &amp;amp;&amp;amp; make -j 3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turning off just optimization (which can produce strange results in debuggers):&lt;br /&gt;
&lt;br /&gt;
 export CXXFLAGS='-g -O0 -Wall'&lt;br /&gt;
 export CFLAGS='-g -O0 -Wall'&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
See [[TestingInkscape]] for information on building and executing (unit) tests.&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;/div&gt;</summary>
		<author><name>Eduardo</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape&amp;diff=48224</id>
		<title>Compiling Inkscape</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape&amp;diff=48224"/>
		<updated>2009-03-07T22:12:46Z</updated>

		<summary type="html">&lt;p&gt;Eduardo: /* libSigc++ */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hopefully, Inkscape will compile right out of the box.  If it doesn't, well that's what this page is for.&lt;br /&gt;
&lt;br /&gt;
Jot down notes, questions, findings, tips, etc. here on things you run into.  It's a good idea to&lt;br /&gt;
make mention of what version of the code you're trying to compile, the distribution you're running,&lt;br /&gt;
and other such information that might be pertinent.&lt;br /&gt;
&lt;br /&gt;
If legitimate bugs are found or patches developed, please move them to the tracker at Sourceforge&lt;br /&gt;
rather than inlining them here.  &lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
Inkscape needs automake1.7 or automake1.8 to compile NOT automake1.9 it has a bug ( link: http://sourceforge.net/mailarchive/message.php?msg_id=10288631 ) that prevents compiling of Inkscape. If you have already tried to do a $ make with automake1.9 then $ ./autogen.sh from your inkscape-cvs dir and proceed as normal.&lt;br /&gt;
(On the other hand, I've repeatedly built it with automake-1.9.4.  ralf)&lt;br /&gt;
&lt;br /&gt;
You may want to also [http://wiki.inkscape.org/wiki/index.php/OtherProjects#Inkscape_Plugins.2C_Scripts.2C_and_Templates add plugins] during or after compiling.&lt;br /&gt;
&lt;br /&gt;
= OS &amp;amp;amp; Distribution Specific =&lt;br /&gt;
* '''Linux'''&lt;br /&gt;
** [[CompilingAutopackage|Autopackage]] (multi-distro)&lt;br /&gt;
** [[CompilingFedora|Fedora]]&lt;br /&gt;
** [[CompilingGentoo|Gentoo]]&lt;br /&gt;
** [[CompilingDebian|Debian]]&lt;br /&gt;
** [[CompilingUbuntu|Ubuntu]]&lt;br /&gt;
** [[CompilingYellowDog|Yellow Dog]]&lt;br /&gt;
** [[CompilingSuse|Suse]]&lt;br /&gt;
** [[CompilingSlackware|Slackware]]&lt;br /&gt;
** [[CompilingYoper|Yoper]]&lt;br /&gt;
** [[CompilingMandrake|Mandrakelinux]]&lt;br /&gt;
* [[CompilingMacOsX|Mac OS X]]&lt;br /&gt;
* [[Win32Port|Windows]]&lt;br /&gt;
* [[CompilingSPARC|SPARC]]&lt;br /&gt;
* [[CompilingSunSolaris|Sun Solaris]]&lt;br /&gt;
* [[CompilingStatic|Static Compiles]]&lt;br /&gt;
&lt;br /&gt;
= Package Config (pkg-config) =&lt;br /&gt;
&lt;br /&gt;
If you must compile and install any of these from source, you may find an error like this when trying to&lt;br /&gt;
compile them or Inkscape itself:&lt;br /&gt;
&lt;br /&gt;
 checking for gtk+-2.0 &amp;gt;= 2.0.0  libxml-2.0 &amp;gt;= 2-2.4.24  sigc++-1.2  gtkmm-2.0... Package gtkmm-2.0 was not found in the  pkg-config search path.&lt;br /&gt;
 Perhaps you should add the directory containing `gtkmm-2.0.pc'&lt;br /&gt;
 to the PKG_CONFIG_PATH environment variable&lt;br /&gt;
 No package 'gtkmm-2.0' found&lt;br /&gt;
&lt;br /&gt;
A solution is to set the PKG_CONFIG_PATH variable as so:&lt;br /&gt;
&lt;br /&gt;
for bash:&lt;br /&gt;
     export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig&lt;br /&gt;
for csh:&lt;br /&gt;
     setenv PKG_CONFIG_PATH /usr/local/lib/pkgconfig:/usr/lib/pkgconfig&lt;br /&gt;
&lt;br /&gt;
A good place to put this line is in your .bashrc or .cshrc file&lt;br /&gt;
&lt;br /&gt;
= Getting and Installing Source packages =&lt;br /&gt;
&lt;br /&gt;
If your distro does not have some packages available (like many don't, ie, Fedora Core 2), you must often download&lt;br /&gt;
source packages and build and install them yourself.  Actually this is not that hard, and is similar to&lt;br /&gt;
doing a Gentoo 'emerge.'&lt;br /&gt;
&lt;br /&gt;
* Usually you download a file with a name like somepackage-1.0.tar.gz.  Unpack it with&lt;br /&gt;
&lt;br /&gt;
    $ tar zxf somepackage-1.0.tar.gz&lt;br /&gt;
    or&lt;br /&gt;
    $ tar jxf somepackage-1.0.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Then 'cd' into the new directory.&lt;br /&gt;
&lt;br /&gt;
* Configure it with the command:&lt;br /&gt;
&lt;br /&gt;
    $ ./configure&lt;br /&gt;
&lt;br /&gt;
* Build it with:&lt;br /&gt;
&lt;br /&gt;
    $ make&lt;br /&gt;
&lt;br /&gt;
* As the 'root' user,  install it with:&lt;br /&gt;
&lt;br /&gt;
    # make install&lt;br /&gt;
&lt;br /&gt;
== Boehm-GC ==&lt;br /&gt;
&lt;br /&gt;
Source: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source&lt;br /&gt;
&lt;br /&gt;
*  Download this file:&lt;br /&gt;
**   http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.7.tar.gz&lt;br /&gt;
*  Unpack it&lt;br /&gt;
**   tar zxf gc6.7.tar.gz&lt;br /&gt;
*  Configure and build it&lt;br /&gt;
**   cd gc6.7&lt;br /&gt;
**   ./configure --disable-shared --enable-static&lt;br /&gt;
**   make&lt;br /&gt;
*  Install it&lt;br /&gt;
**   su    (or however else you become root)&lt;br /&gt;
**   make install&lt;br /&gt;
&lt;br /&gt;
Binaries:  If searching for a package for GC, the name of it is sometimes:&lt;br /&gt;
&lt;br /&gt;
* gc&lt;br /&gt;
* libgc&lt;br /&gt;
* gc-devel&lt;br /&gt;
* libgc-devel&lt;br /&gt;
* boehm-gc  (on Gentoo)&lt;br /&gt;
* debian/ubuntu:  sudo apt-get install libgc-dev&lt;br /&gt;
&lt;br /&gt;
== libSigc++ ==&lt;br /&gt;
&lt;br /&gt;
Source: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/&lt;br /&gt;
&lt;br /&gt;
With this file, and for [[GlibMM]] and [[GtkMM]] below, it is usually desirable for us developers to&lt;br /&gt;
build this C++ library statically.  This removes a dependency that might be difficult for an&lt;br /&gt;
end-user during installation.  Configure it with:&lt;br /&gt;
&lt;br /&gt;
    ./configure --enable-static --disable-shared&lt;br /&gt;
&lt;br /&gt;
== [[GlibMM]] ==&lt;br /&gt;
&lt;br /&gt;
Latest source: http://ftp.gnome.org/pub/GNOME/sources/glibmm/&lt;br /&gt;
&lt;br /&gt;
== [[GtkMM]] ==&lt;br /&gt;
&lt;br /&gt;
Latest source: http://ftp.gnome.org/pub/GNOME/sources/gtkmm/&lt;br /&gt;
&lt;br /&gt;
== cairomm ==&lt;br /&gt;
&lt;br /&gt;
if you got prompted about cairomm, try first solve your cairo version, so you can grab [http://www.cairographics.org/releases/ there] a compatible version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Boost ==&lt;br /&gt;
&lt;br /&gt;
Many users have reported when building from source that after installing the above dependencies, the configure script still requires a &amp;quot;boost&amp;quot; package. It can be found below, but even after installing, you will need to create a symlink to allow the configure script to find it:&lt;br /&gt;
&lt;br /&gt;
'''ln -s /usr/local/include/boost_1_xx_x/boost /usr/local/include/boost'''&lt;br /&gt;
&lt;br /&gt;
Source: http://www.boost.org/users/download/&lt;br /&gt;
&lt;br /&gt;
== Poppler ==&lt;br /&gt;
&lt;br /&gt;
Source: http://poppler.freedesktop.org/&lt;br /&gt;
&lt;br /&gt;
Note: there seems to be an incompatibility with recent versions of poppler. See the following bugreport: https://bugs.launchpad.net/inkscape/+bug/254849&lt;br /&gt;
&lt;br /&gt;
Also, the &amp;lt;code&amp;gt;-DPOPPLER_NEW_GFXFONT&amp;lt;/code&amp;gt; hack does not seem to work with vanilla 0.46, you should obtain a snapshot version instead.&lt;br /&gt;
&lt;br /&gt;
One of the mentioned compilation errors is due to a mis-configured Poppler build/install - you will see the following errors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;In file included from extension/internal/pdfinput/svg-builder.cpp:19:&lt;br /&gt;
extension/internal/pdfinput/svg-builder.h:32:23: error: CharTypes.h: No such file or directory&lt;br /&gt;
...&lt;br /&gt;
make[2]: *** [extension/internal/pdfinput/svg-builder.o] Error 1&lt;br /&gt;
make[2]: Leaving directory `/tmp/build/inkscape-0.46/src'&lt;br /&gt;
make[1]: *** [all-recursive] Error 1&lt;br /&gt;
make[1]: Leaving directory `/tmp/build/inkscape-0.46'&lt;br /&gt;
make: *** [all] Error 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Developer Compilation =&lt;br /&gt;
&lt;br /&gt;
Plain vanilla compilation is done as documented in INSTALL; ./autogen.sh (optionally); ./configure; make; su &amp;amp;&amp;amp; make test; make install (optional).  See INSTALL for more on that.&lt;br /&gt;
&lt;br /&gt;
But if you're going to be doing a lot of development, there's some tricks and techniques you should know,&lt;br /&gt;
to get best results.&lt;br /&gt;
&lt;br /&gt;
#  Turn off optimization&lt;br /&gt;
#  Use ccache for faster compilation&lt;br /&gt;
#  Set up a separate build directory (nice for testing both gcc and g++, or cross compiling)&lt;br /&gt;
#  Use the -j N flag to optimize for the number of processors in your machine, with N = 1 + no. proc's&lt;br /&gt;
&lt;br /&gt;
Example:  Setting up both gcc and g++ build environments (in separate tree), and using ccache for faster&lt;br /&gt;
compilations on a dual-processor machine, with no optimization, assuming /bin/bash:&lt;br /&gt;
&lt;br /&gt;
 mkdir build-gcc build-g++&lt;br /&gt;
 cvs checkout inkscape&lt;br /&gt;
 cd inkscape&lt;br /&gt;
 libtoolize --copy --force&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 cd ../build-gcc&lt;br /&gt;
 CFLAGS='-g -O0 -Wall' CC='ccache gcc' ../inkscape/configure&lt;br /&gt;
 cd ../build-g++&lt;br /&gt;
 CXXFLAGS='-g -O0 -Wall' CXX='ccache g++' ../inkscape/configure&lt;br /&gt;
 cd ../build-gcc &amp;amp;&amp;amp; make -j 3&lt;br /&gt;
 cd ../build-g++ &amp;amp;&amp;amp; make -j 3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turning off just optimization (which can produce strange results in debuggers):&lt;br /&gt;
&lt;br /&gt;
 export CXXFLAGS='-g -O0 -Wall'&lt;br /&gt;
 export CFLAGS='-g -O0 -Wall'&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
See [[TestingInkscape]] for information on building and executing (unit) tests.&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;/div&gt;</summary>
		<author><name>Eduardo</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape&amp;diff=48214</id>
		<title>Compiling Inkscape</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape&amp;diff=48214"/>
		<updated>2009-03-07T22:12:10Z</updated>

		<summary type="html">&lt;p&gt;Eduardo: /* GtkMM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hopefully, Inkscape will compile right out of the box.  If it doesn't, well that's what this page is for.&lt;br /&gt;
&lt;br /&gt;
Jot down notes, questions, findings, tips, etc. here on things you run into.  It's a good idea to&lt;br /&gt;
make mention of what version of the code you're trying to compile, the distribution you're running,&lt;br /&gt;
and other such information that might be pertinent.&lt;br /&gt;
&lt;br /&gt;
If legitimate bugs are found or patches developed, please move them to the tracker at Sourceforge&lt;br /&gt;
rather than inlining them here.  &lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
Inkscape needs automake1.7 or automake1.8 to compile NOT automake1.9 it has a bug ( link: http://sourceforge.net/mailarchive/message.php?msg_id=10288631 ) that prevents compiling of Inkscape. If you have already tried to do a $ make with automake1.9 then $ ./autogen.sh from your inkscape-cvs dir and proceed as normal.&lt;br /&gt;
(On the other hand, I've repeatedly built it with automake-1.9.4.  ralf)&lt;br /&gt;
&lt;br /&gt;
You may want to also [http://wiki.inkscape.org/wiki/index.php/OtherProjects#Inkscape_Plugins.2C_Scripts.2C_and_Templates add plugins] during or after compiling.&lt;br /&gt;
&lt;br /&gt;
= OS &amp;amp;amp; Distribution Specific =&lt;br /&gt;
* '''Linux'''&lt;br /&gt;
** [[CompilingAutopackage|Autopackage]] (multi-distro)&lt;br /&gt;
** [[CompilingFedora|Fedora]]&lt;br /&gt;
** [[CompilingGentoo|Gentoo]]&lt;br /&gt;
** [[CompilingDebian|Debian]]&lt;br /&gt;
** [[CompilingUbuntu|Ubuntu]]&lt;br /&gt;
** [[CompilingYellowDog|Yellow Dog]]&lt;br /&gt;
** [[CompilingSuse|Suse]]&lt;br /&gt;
** [[CompilingSlackware|Slackware]]&lt;br /&gt;
** [[CompilingYoper|Yoper]]&lt;br /&gt;
** [[CompilingMandrake|Mandrakelinux]]&lt;br /&gt;
* [[CompilingMacOsX|Mac OS X]]&lt;br /&gt;
* [[Win32Port|Windows]]&lt;br /&gt;
* [[CompilingSPARC|SPARC]]&lt;br /&gt;
* [[CompilingSunSolaris|Sun Solaris]]&lt;br /&gt;
* [[CompilingStatic|Static Compiles]]&lt;br /&gt;
&lt;br /&gt;
= Package Config (pkg-config) =&lt;br /&gt;
&lt;br /&gt;
If you must compile and install any of these from source, you may find an error like this when trying to&lt;br /&gt;
compile them or Inkscape itself:&lt;br /&gt;
&lt;br /&gt;
 checking for gtk+-2.0 &amp;gt;= 2.0.0  libxml-2.0 &amp;gt;= 2-2.4.24  sigc++-1.2  gtkmm-2.0... Package gtkmm-2.0 was not found in the  pkg-config search path.&lt;br /&gt;
 Perhaps you should add the directory containing `gtkmm-2.0.pc'&lt;br /&gt;
 to the PKG_CONFIG_PATH environment variable&lt;br /&gt;
 No package 'gtkmm-2.0' found&lt;br /&gt;
&lt;br /&gt;
A solution is to set the PKG_CONFIG_PATH variable as so:&lt;br /&gt;
&lt;br /&gt;
for bash:&lt;br /&gt;
     export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig&lt;br /&gt;
for csh:&lt;br /&gt;
     setenv PKG_CONFIG_PATH /usr/local/lib/pkgconfig:/usr/lib/pkgconfig&lt;br /&gt;
&lt;br /&gt;
A good place to put this line is in your .bashrc or .cshrc file&lt;br /&gt;
&lt;br /&gt;
= Getting and Installing Source packages =&lt;br /&gt;
&lt;br /&gt;
If your distro does not have some packages available (like many don't, ie, Fedora Core 2), you must often download&lt;br /&gt;
source packages and build and install them yourself.  Actually this is not that hard, and is similar to&lt;br /&gt;
doing a Gentoo 'emerge.'&lt;br /&gt;
&lt;br /&gt;
* Usually you download a file with a name like somepackage-1.0.tar.gz.  Unpack it with&lt;br /&gt;
&lt;br /&gt;
    $ tar zxf somepackage-1.0.tar.gz&lt;br /&gt;
    or&lt;br /&gt;
    $ tar jxf somepackage-1.0.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Then 'cd' into the new directory.&lt;br /&gt;
&lt;br /&gt;
* Configure it with the command:&lt;br /&gt;
&lt;br /&gt;
    $ ./configure&lt;br /&gt;
&lt;br /&gt;
* Build it with:&lt;br /&gt;
&lt;br /&gt;
    $ make&lt;br /&gt;
&lt;br /&gt;
* As the 'root' user,  install it with:&lt;br /&gt;
&lt;br /&gt;
    # make install&lt;br /&gt;
&lt;br /&gt;
== Boehm-GC ==&lt;br /&gt;
&lt;br /&gt;
Source: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source&lt;br /&gt;
&lt;br /&gt;
*  Download this file:&lt;br /&gt;
**   http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.7.tar.gz&lt;br /&gt;
*  Unpack it&lt;br /&gt;
**   tar zxf gc6.7.tar.gz&lt;br /&gt;
*  Configure and build it&lt;br /&gt;
**   cd gc6.7&lt;br /&gt;
**   ./configure --disable-shared --enable-static&lt;br /&gt;
**   make&lt;br /&gt;
*  Install it&lt;br /&gt;
**   su    (or however else you become root)&lt;br /&gt;
**   make install&lt;br /&gt;
&lt;br /&gt;
Binaries:  If searching for a package for GC, the name of it is sometimes:&lt;br /&gt;
&lt;br /&gt;
* gc&lt;br /&gt;
* libgc&lt;br /&gt;
* gc-devel&lt;br /&gt;
* libgc-devel&lt;br /&gt;
* boehm-gc  (on Gentoo)&lt;br /&gt;
* debian/ubuntu:  sudo apt-get install libgc-dev&lt;br /&gt;
&lt;br /&gt;
== libSigc++ ==&lt;br /&gt;
&lt;br /&gt;
Source: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.0/&lt;br /&gt;
&lt;br /&gt;
With this file, and for [[GlibMM]] and [[GtkMM]] below, it is usually desirable for us developers to&lt;br /&gt;
build this C++ library statically.  This removes a dependency that might be difficult for an&lt;br /&gt;
end-user during installation.  Configure it with:&lt;br /&gt;
&lt;br /&gt;
    ./configure --enable-static --disable-shared&lt;br /&gt;
&lt;br /&gt;
== [[GlibMM]] ==&lt;br /&gt;
&lt;br /&gt;
Latest source: http://ftp.gnome.org/pub/GNOME/sources/glibmm/&lt;br /&gt;
&lt;br /&gt;
== [[GtkMM]] ==&lt;br /&gt;
&lt;br /&gt;
Latest source: http://ftp.gnome.org/pub/GNOME/sources/gtkmm/&lt;br /&gt;
&lt;br /&gt;
== cairomm ==&lt;br /&gt;
&lt;br /&gt;
if you got prompted about cairomm, try first solve your cairo version, so you can grab [http://www.cairographics.org/releases/ there] a compatible version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Boost ==&lt;br /&gt;
&lt;br /&gt;
Many users have reported when building from source that after installing the above dependencies, the configure script still requires a &amp;quot;boost&amp;quot; package. It can be found below, but even after installing, you will need to create a symlink to allow the configure script to find it:&lt;br /&gt;
&lt;br /&gt;
'''ln -s /usr/local/include/boost_1_xx_x/boost /usr/local/include/boost'''&lt;br /&gt;
&lt;br /&gt;
Source: http://www.boost.org/users/download/&lt;br /&gt;
&lt;br /&gt;
== Poppler ==&lt;br /&gt;
&lt;br /&gt;
Source: http://poppler.freedesktop.org/&lt;br /&gt;
&lt;br /&gt;
Note: there seems to be an incompatibility with recent versions of poppler. See the following bugreport: https://bugs.launchpad.net/inkscape/+bug/254849&lt;br /&gt;
&lt;br /&gt;
Also, the &amp;lt;code&amp;gt;-DPOPPLER_NEW_GFXFONT&amp;lt;/code&amp;gt; hack does not seem to work with vanilla 0.46, you should obtain a snapshot version instead.&lt;br /&gt;
&lt;br /&gt;
One of the mentioned compilation errors is due to a mis-configured Poppler build/install - you will see the following errors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;In file included from extension/internal/pdfinput/svg-builder.cpp:19:&lt;br /&gt;
extension/internal/pdfinput/svg-builder.h:32:23: error: CharTypes.h: No such file or directory&lt;br /&gt;
...&lt;br /&gt;
make[2]: *** [extension/internal/pdfinput/svg-builder.o] Error 1&lt;br /&gt;
make[2]: Leaving directory `/tmp/build/inkscape-0.46/src'&lt;br /&gt;
make[1]: *** [all-recursive] Error 1&lt;br /&gt;
make[1]: Leaving directory `/tmp/build/inkscape-0.46'&lt;br /&gt;
make: *** [all] Error 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Developer Compilation =&lt;br /&gt;
&lt;br /&gt;
Plain vanilla compilation is done as documented in INSTALL; ./autogen.sh (optionally); ./configure; make; su &amp;amp;&amp;amp; make test; make install (optional).  See INSTALL for more on that.&lt;br /&gt;
&lt;br /&gt;
But if you're going to be doing a lot of development, there's some tricks and techniques you should know,&lt;br /&gt;
to get best results.&lt;br /&gt;
&lt;br /&gt;
#  Turn off optimization&lt;br /&gt;
#  Use ccache for faster compilation&lt;br /&gt;
#  Set up a separate build directory (nice for testing both gcc and g++, or cross compiling)&lt;br /&gt;
#  Use the -j N flag to optimize for the number of processors in your machine, with N = 1 + no. proc's&lt;br /&gt;
&lt;br /&gt;
Example:  Setting up both gcc and g++ build environments (in separate tree), and using ccache for faster&lt;br /&gt;
compilations on a dual-processor machine, with no optimization, assuming /bin/bash:&lt;br /&gt;
&lt;br /&gt;
 mkdir build-gcc build-g++&lt;br /&gt;
 cvs checkout inkscape&lt;br /&gt;
 cd inkscape&lt;br /&gt;
 libtoolize --copy --force&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 cd ../build-gcc&lt;br /&gt;
 CFLAGS='-g -O0 -Wall' CC='ccache gcc' ../inkscape/configure&lt;br /&gt;
 cd ../build-g++&lt;br /&gt;
 CXXFLAGS='-g -O0 -Wall' CXX='ccache g++' ../inkscape/configure&lt;br /&gt;
 cd ../build-gcc &amp;amp;&amp;amp; make -j 3&lt;br /&gt;
 cd ../build-g++ &amp;amp;&amp;amp; make -j 3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turning off just optimization (which can produce strange results in debuggers):&lt;br /&gt;
&lt;br /&gt;
 export CXXFLAGS='-g -O0 -Wall'&lt;br /&gt;
 export CFLAGS='-g -O0 -Wall'&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
See [[TestingInkscape]] for information on building and executing (unit) tests.&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;/div&gt;</summary>
		<author><name>Eduardo</name></author>
	</entry>
	<entry>
		<id>https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape&amp;diff=48204</id>
		<title>Compiling Inkscape</title>
		<link rel="alternate" type="text/html" href="https://wiki.inkscape.org/wiki/index.php?title=Compiling_Inkscape&amp;diff=48204"/>
		<updated>2009-03-07T22:11:59Z</updated>

		<summary type="html">&lt;p&gt;Eduardo: /* GlibMM */&lt;/p&gt;
&lt;hr /&gt;
&lt;div&gt;Hopefully, Inkscape will compile right out of the box.  If it doesn't, well that's what this page is for.&lt;br /&gt;
&lt;br /&gt;
Jot down notes, questions, findings, tips, etc. here on things you run into.  It's a good idea to&lt;br /&gt;
make mention of what version of the code you're trying to compile, the distribution you're running,&lt;br /&gt;
and other such information that might be pertinent.&lt;br /&gt;
&lt;br /&gt;
If legitimate bugs are found or patches developed, please move them to the tracker at Sourceforge&lt;br /&gt;
rather than inlining them here.  &lt;br /&gt;
&lt;br /&gt;
= Notes =&lt;br /&gt;
Inkscape needs automake1.7 or automake1.8 to compile NOT automake1.9 it has a bug ( link: http://sourceforge.net/mailarchive/message.php?msg_id=10288631 ) that prevents compiling of Inkscape. If you have already tried to do a $ make with automake1.9 then $ ./autogen.sh from your inkscape-cvs dir and proceed as normal.&lt;br /&gt;
(On the other hand, I've repeatedly built it with automake-1.9.4.  ralf)&lt;br /&gt;
&lt;br /&gt;
You may want to also [http://wiki.inkscape.org/wiki/index.php/OtherProjects#Inkscape_Plugins.2C_Scripts.2C_and_Templates add plugins] during or after compiling.&lt;br /&gt;
&lt;br /&gt;
= OS &amp;amp;amp; Distribution Specific =&lt;br /&gt;
* '''Linux'''&lt;br /&gt;
** [[CompilingAutopackage|Autopackage]] (multi-distro)&lt;br /&gt;
** [[CompilingFedora|Fedora]]&lt;br /&gt;
** [[CompilingGentoo|Gentoo]]&lt;br /&gt;
** [[CompilingDebian|Debian]]&lt;br /&gt;
** [[CompilingUbuntu|Ubuntu]]&lt;br /&gt;
** [[CompilingYellowDog|Yellow Dog]]&lt;br /&gt;
** [[CompilingSuse|Suse]]&lt;br /&gt;
** [[CompilingSlackware|Slackware]]&lt;br /&gt;
** [[CompilingYoper|Yoper]]&lt;br /&gt;
** [[CompilingMandrake|Mandrakelinux]]&lt;br /&gt;
* [[CompilingMacOsX|Mac OS X]]&lt;br /&gt;
* [[Win32Port|Windows]]&lt;br /&gt;
* [[CompilingSPARC|SPARC]]&lt;br /&gt;
* [[CompilingSunSolaris|Sun Solaris]]&lt;br /&gt;
* [[CompilingStatic|Static Compiles]]&lt;br /&gt;
&lt;br /&gt;
= Package Config (pkg-config) =&lt;br /&gt;
&lt;br /&gt;
If you must compile and install any of these from source, you may find an error like this when trying to&lt;br /&gt;
compile them or Inkscape itself:&lt;br /&gt;
&lt;br /&gt;
 checking for gtk+-2.0 &amp;gt;= 2.0.0  libxml-2.0 &amp;gt;= 2-2.4.24  sigc++-1.2  gtkmm-2.0... Package gtkmm-2.0 was not found in the  pkg-config search path.&lt;br /&gt;
 Perhaps you should add the directory containing `gtkmm-2.0.pc'&lt;br /&gt;
 to the PKG_CONFIG_PATH environment variable&lt;br /&gt;
 No package 'gtkmm-2.0' found&lt;br /&gt;
&lt;br /&gt;
A solution is to set the PKG_CONFIG_PATH variable as so:&lt;br /&gt;
&lt;br /&gt;
for bash:&lt;br /&gt;
     export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig:/usr/lib/pkgconfig&lt;br /&gt;
for csh:&lt;br /&gt;
     setenv PKG_CONFIG_PATH /usr/local/lib/pkgconfig:/usr/lib/pkgconfig&lt;br /&gt;
&lt;br /&gt;
A good place to put this line is in your .bashrc or .cshrc file&lt;br /&gt;
&lt;br /&gt;
= Getting and Installing Source packages =&lt;br /&gt;
&lt;br /&gt;
If your distro does not have some packages available (like many don't, ie, Fedora Core 2), you must often download&lt;br /&gt;
source packages and build and install them yourself.  Actually this is not that hard, and is similar to&lt;br /&gt;
doing a Gentoo 'emerge.'&lt;br /&gt;
&lt;br /&gt;
* Usually you download a file with a name like somepackage-1.0.tar.gz.  Unpack it with&lt;br /&gt;
&lt;br /&gt;
    $ tar zxf somepackage-1.0.tar.gz&lt;br /&gt;
    or&lt;br /&gt;
    $ tar jxf somepackage-1.0.tar.bz2&lt;br /&gt;
&lt;br /&gt;
* Then 'cd' into the new directory.&lt;br /&gt;
&lt;br /&gt;
* Configure it with the command:&lt;br /&gt;
&lt;br /&gt;
    $ ./configure&lt;br /&gt;
&lt;br /&gt;
* Build it with:&lt;br /&gt;
&lt;br /&gt;
    $ make&lt;br /&gt;
&lt;br /&gt;
* As the 'root' user,  install it with:&lt;br /&gt;
&lt;br /&gt;
    # make install&lt;br /&gt;
&lt;br /&gt;
== Boehm-GC ==&lt;br /&gt;
&lt;br /&gt;
Source: http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source&lt;br /&gt;
&lt;br /&gt;
*  Download this file:&lt;br /&gt;
**   http://www.hpl.hp.com/personal/Hans_Boehm/gc/gc_source/gc6.7.tar.gz&lt;br /&gt;
*  Unpack it&lt;br /&gt;
**   tar zxf gc6.7.tar.gz&lt;br /&gt;
*  Configure and build it&lt;br /&gt;
**   cd gc6.7&lt;br /&gt;
**   ./configure --disable-shared --enable-static&lt;br /&gt;
**   make&lt;br /&gt;
*  Install it&lt;br /&gt;
**   su    (or however else you become root)&lt;br /&gt;
**   make install&lt;br /&gt;
&lt;br /&gt;
Binaries:  If searching for a package for GC, the name of it is sometimes:&lt;br /&gt;
&lt;br /&gt;
* gc&lt;br /&gt;
* libgc&lt;br /&gt;
* gc-devel&lt;br /&gt;
* libgc-devel&lt;br /&gt;
* boehm-gc  (on Gentoo)&lt;br /&gt;
* debian/ubuntu:  sudo apt-get install libgc-dev&lt;br /&gt;
&lt;br /&gt;
== libSigc++ ==&lt;br /&gt;
&lt;br /&gt;
Source: http://ftp.gnome.org/pub/GNOME/sources/libsigc++/2.0/&lt;br /&gt;
&lt;br /&gt;
With this file, and for [[GlibMM]] and [[GtkMM]] below, it is usually desirable for us developers to&lt;br /&gt;
build this C++ library statically.  This removes a dependency that might be difficult for an&lt;br /&gt;
end-user during installation.  Configure it with:&lt;br /&gt;
&lt;br /&gt;
    ./configure --enable-static --disable-shared&lt;br /&gt;
&lt;br /&gt;
== [[GlibMM]] ==&lt;br /&gt;
&lt;br /&gt;
Latest source: http://ftp.gnome.org/pub/GNOME/sources/glibmm/&lt;br /&gt;
&lt;br /&gt;
== [[GtkMM]] ==&lt;br /&gt;
&lt;br /&gt;
Source: http://ftp.gnome.org/pub/GNOME/sources/gtkmm/2.8/&lt;br /&gt;
&lt;br /&gt;
== cairomm ==&lt;br /&gt;
&lt;br /&gt;
if you got prompted about cairomm, try first solve your cairo version, so you can grab [http://www.cairographics.org/releases/ there] a compatible version.&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
== Boost ==&lt;br /&gt;
&lt;br /&gt;
Many users have reported when building from source that after installing the above dependencies, the configure script still requires a &amp;quot;boost&amp;quot; package. It can be found below, but even after installing, you will need to create a symlink to allow the configure script to find it:&lt;br /&gt;
&lt;br /&gt;
'''ln -s /usr/local/include/boost_1_xx_x/boost /usr/local/include/boost'''&lt;br /&gt;
&lt;br /&gt;
Source: http://www.boost.org/users/download/&lt;br /&gt;
&lt;br /&gt;
== Poppler ==&lt;br /&gt;
&lt;br /&gt;
Source: http://poppler.freedesktop.org/&lt;br /&gt;
&lt;br /&gt;
Note: there seems to be an incompatibility with recent versions of poppler. See the following bugreport: https://bugs.launchpad.net/inkscape/+bug/254849&lt;br /&gt;
&lt;br /&gt;
Also, the &amp;lt;code&amp;gt;-DPOPPLER_NEW_GFXFONT&amp;lt;/code&amp;gt; hack does not seem to work with vanilla 0.46, you should obtain a snapshot version instead.&lt;br /&gt;
&lt;br /&gt;
One of the mentioned compilation errors is due to a mis-configured Poppler build/install - you will see the following errors:&lt;br /&gt;
&lt;br /&gt;
&amp;lt;pre&amp;gt;In file included from extension/internal/pdfinput/svg-builder.cpp:19:&lt;br /&gt;
extension/internal/pdfinput/svg-builder.h:32:23: error: CharTypes.h: No such file or directory&lt;br /&gt;
...&lt;br /&gt;
make[2]: *** [extension/internal/pdfinput/svg-builder.o] Error 1&lt;br /&gt;
make[2]: Leaving directory `/tmp/build/inkscape-0.46/src'&lt;br /&gt;
make[1]: *** [all-recursive] Error 1&lt;br /&gt;
make[1]: Leaving directory `/tmp/build/inkscape-0.46'&lt;br /&gt;
make: *** [all] Error 2&amp;lt;/pre&amp;gt;&lt;br /&gt;
&lt;br /&gt;
= Developer Compilation =&lt;br /&gt;
&lt;br /&gt;
Plain vanilla compilation is done as documented in INSTALL; ./autogen.sh (optionally); ./configure; make; su &amp;amp;&amp;amp; make test; make install (optional).  See INSTALL for more on that.&lt;br /&gt;
&lt;br /&gt;
But if you're going to be doing a lot of development, there's some tricks and techniques you should know,&lt;br /&gt;
to get best results.&lt;br /&gt;
&lt;br /&gt;
#  Turn off optimization&lt;br /&gt;
#  Use ccache for faster compilation&lt;br /&gt;
#  Set up a separate build directory (nice for testing both gcc and g++, or cross compiling)&lt;br /&gt;
#  Use the -j N flag to optimize for the number of processors in your machine, with N = 1 + no. proc's&lt;br /&gt;
&lt;br /&gt;
Example:  Setting up both gcc and g++ build environments (in separate tree), and using ccache for faster&lt;br /&gt;
compilations on a dual-processor machine, with no optimization, assuming /bin/bash:&lt;br /&gt;
&lt;br /&gt;
 mkdir build-gcc build-g++&lt;br /&gt;
 cvs checkout inkscape&lt;br /&gt;
 cd inkscape&lt;br /&gt;
 libtoolize --copy --force&lt;br /&gt;
 ./autogen.sh&lt;br /&gt;
 cd ../build-gcc&lt;br /&gt;
 CFLAGS='-g -O0 -Wall' CC='ccache gcc' ../inkscape/configure&lt;br /&gt;
 cd ../build-g++&lt;br /&gt;
 CXXFLAGS='-g -O0 -Wall' CXX='ccache g++' ../inkscape/configure&lt;br /&gt;
 cd ../build-gcc &amp;amp;&amp;amp; make -j 3&lt;br /&gt;
 cd ../build-g++ &amp;amp;&amp;amp; make -j 3&lt;br /&gt;
&lt;br /&gt;
&lt;br /&gt;
Turning off just optimization (which can produce strange results in debuggers):&lt;br /&gt;
&lt;br /&gt;
 export CXXFLAGS='-g -O0 -Wall'&lt;br /&gt;
 export CFLAGS='-g -O0 -Wall'&lt;br /&gt;
 ./configure&lt;br /&gt;
&lt;br /&gt;
See [[TestingInkscape]] for information on building and executing (unit) tests.&lt;br /&gt;
&lt;br /&gt;
[[Category:Developer Documentation]]&lt;/div&gt;</summary>
		<author><name>Eduardo</name></author>
	</entry>
</feed>