Difference between revisions of "CompilingUbuntu"

From Inkscape Wiki
Jump to navigation Jump to search
(remove all redundant content that is already covered in https://inkscape.org/develop/getting-started/)
 
(55 intermediate revisions by 17 users not shown)
Line 1: Line 1:
== Hardy ==
== Consider using pre-built packages ==
A short how to build the latest svn version. Please note that SVN version may be buggy and crash often. This is released for people who want to help testing or need the very latest features. If you are not of developer kind, you are suggested to fetch the stable version from the repositories using Synaptic or from command line:
This is a short how to build the latest development version. '''If you don't want to change the source code, you can avoid this effort and use pre-built packages''', either the well-tested stable version, or the newest developer's version intended for testing. See [[Installing_Inkscape#Ubuntu_or_Debian_Linux]].


<pre>
== Compiling unstable developement version ==
  sudo apt-get install inkscape
</pre>
 
If you are sure you can face Inkscape being unstable, then please continue reading. First you should install all the requirements. This can be done by:
 
<pre>
  sudo apt-get install 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
</pre>
 
Now you should have every dependency you need to build Inkscape. But first you have to fetch the source from subversion (SVN). If you have not subversion installed, install it:
 
<pre>
  sudo apt-get install subversion
</pre>
 
After this you can fetch the latest source. It creates a new directory named inkscape into your currend working directory.
 
<pre>
  svn checkout https://inkscape.svn.sourceforge.net/svnroot/inkscape/inkscape/trunk inkscape
</pre>


If you want to learn more about subversion, feel free to do so: http://inkscape.org/wiki/index.php/WorkingWithSVN
Please refer to https://inkscape.org/en/develop/getting-started/


Change your current directory to the inkscape.


<pre>
=== Installing ===
  cd inkscape
</pre>


As you may have already noticed this folder contains some files with all CAPITAL letters like README, INSTALL, HACKING, COPYING and probably others. These contain the latest information how to build the program. The README file says if you have no configure script in the current directory you should run autogen script to create it:
If you used some CMAKE_INSTALL_PREFIX other than /usr, then you may install using usual 'make install' or 'sudo make install', depending on the location.
 
If the the location prefix was /usr, then "sudo make install" is not recommended, as debian package manager would know nothing about new package. The better alternative is using checkinstall. If checkinstall is not installed, you can install it the usual way "sudo apt-get install checkinstall".
<pre>
  ./autogen
</pre>
 
Now run configure script which detects your system variables, installed software etc:
 
<pre>
  ./configure
</pre>
 
And if configure ends with no error messages, you are the lucky one, all system requirements are met. Run make for the compiling.
 
<pre>
  make
</pre>
 
This may take some time, probably hours, depending on your machine's speed.
You can continue by installing using "make install" (not recommended, as debian package manager will know nothing about new package) or using checkinstall. If checkinstall is not installed, you can install it the usual way "sudo apt-get install checkinstall".


<pre>
<pre>
Line 59: Line 18:
Happy inkscapeing.
Happy inkscapeing.


== Dapper and Edgy ==
If you're going to build Inkscape, you'll need to have a full complement of build requirements.  This is very easy to do in Ubuntu Dapper and Edgy:
Note: the libgc-6.7 that is available in Edgy removes the need for the following:
<pre>
  sudo apt-get build-dep inkscape
  sudo apt-get install liblcms-dev build-essential
  echo "deb-src http://ftp.us.debian.org/debian/ unstable main" >> /etc/apt/sources.list
  sudo apt-get update
  sudo apt-get source libgc-dev
  sudo apt-get install fakeroot debhelper
  cd libgc*
  sudo fakeroot dpkg-buildpackage -uc -us
  sudo dpkg -i ../libgc*.deb
</pre>
If you want version 0.44 from Debian Unstable, you can compile it in the same way as libgc above:
<pre>
  apt-get source inkscape
  cd inkscape*
  fakeroot dpkg-buildpackage -uc -us
  sudo dpkg -i ../inkscape*.deb
</pre>
To build the SVN snapshots:
<pre>
  # Untar and navigate to the inkscape source folder
  ./configure
  make
  sudo make install
</pre>
Instead of doing "make install", on Debian-based distributions (such as Ubuntu) it is better to do
<pre>
  sudo checkinstall
</pre>
since checkinstall first builds the .deb package and then installs it, thus making the package system aware of the newly installed inkscape.
If you get the "command not found" message, do
<pre>
  sudo apt-get install checkinstall
</pre>
'''Notes:'''
build-dep gets all the dependencies for the version of Inkscape that comes with Ubuntu. We're not building the same version, but most of the dependencies are the same.
libcms-dev was required for ./configure to work
This was done on a recently installed Dapper (Ubuntu 6.06) system. I built Inkscape version 0.44.
The following packages are need to compile cvs inkscape under a default Ubuntu Hoary/Breezy/Dapper system:
  apt-get install cvs build-essential intltool libtool libgtkmm-2.4-dev libglib2.0-dev libpng12-dev libxslt1-dev libsigc++-2.0-dev libpopt-dev libgc-dev
Inkscape requires libgc-6.7.
Breezy uses 6.4, Dapper uses 6.6, Edgy uses 6.7
Hoary uses version 6.3, which is provided in the Repos.  (Is there somewhere to get a .deb for 6.4?)
To overwrite libgc-6.3 with libgc-6.4:
  Download gc6.4
  ./configure --prefix=/usr
  make
  sudo make install
== Old libgc 6.5 debs for Breezy ==
http://inkscape.modevia.com/ap/libgc-dev_6.5-1_i386.deb
http://inkscape.modevia.com/ap/libgc1_6.5-1_i386.deb


[[Category:Developer Documentation]]
[[Category:Developer Documentation]]

Latest revision as of 20:06, 16 February 2020

Consider using pre-built packages

This is a short how to build the latest development version. If you don't want to change the source code, you can avoid this effort and use pre-built packages, either the well-tested stable version, or the newest developer's version intended for testing. See Installing_Inkscape#Ubuntu_or_Debian_Linux.

Compiling unstable developement version

Please refer to https://inkscape.org/en/develop/getting-started/


Installing

If you used some CMAKE_INSTALL_PREFIX other than /usr, then you may install using usual 'make install' or 'sudo make install', depending on the location. If the the location prefix was /usr, then "sudo make install" is not recommended, as debian package manager would know nothing about new package. The better alternative is using checkinstall. If checkinstall is not installed, you can install it the usual way "sudo apt-get install checkinstall".

   sudo checkinstall

Happy inkscapeing.