Ubuntu and Debian Build

From K-3D

Jump to: navigation, search

If you have a question, opinion, suggestion or improvement about this article or about k3d, please do not hesitate to contact us on the k3d-development mailing list. Also feel free to leave your contributions on this page or on the discussion section (tab above also) of this page. --JoaquinDuo 12:35, 5 May 2007 (MDT)

Building K-3D 0.8 on Ubuntu

This was tested on an Ubuntu distribution. I guess this should work on Debian too. If you find any difference please add it here.
Get the K-3D source from the Mercurial repository.(see http://developer.k-3d.org/)

Dependencies

Karmic

 sudo apt-get install python2.5-dev libexpat1-dev libplib-dev libgtkmm-2.4-dev libgtkglext1-dev libsigc++-2.0-dev \
 libfreetype6-dev libode-dev libopenexr-dev openexr libtiff4-dev libgts-dev libmagick++-dev \
 librsvg2-dev libxml2-dev libsuperlu3-dev libgtkmm-2.4-dev libuuid1 uuid-dev \
 liborbit2-dev libbonobo2-dev cmake-gui gettext libtool xsltproc imagemagick graphviz-dev exrtools \
 libgnomevfs2-dev libboost-test1.34.1 cmake cmake-gui cmake-curses-gui \
 libboost-test1.34.1 libboost-program-options1.34.1 \
 libboost1.40-dev \
 libboost-date-time1.40-dev libboost-filesystem1.40-dev libboost-graph-parallel1.40-dev \
 libboost-graph1.40-dev libboost-iostreams1.40-dev libboost-math1.40-dev  \
 libboost-program-options1.40-dev libboost-regex1.40-dev libboost-serialization1.40-dev libboost-signals1.40-dev \
 libboost-system1.40-dev libboost-test1.40-dev libboost-thread1.40-dev libboost-wave1.40-dev

Build Instructions

Build it following the instructions in the CMake Build article.

Building K-3D 0.7 on Ubuntu

This was tested on an Ubuntu distribution. I guess this should work on Debian too. If you find any difference please add it here.
Get the K-3D source from the SVN repository. See the Subversion article if you have any doubt. You can also download 0.6 from the .tar (sourceforge.net) or from CVS.

Hardy

On ubuntu hardy the aqsis package has broken dependencies, so i removed it until this is fixed (this means you won't be able to render with aqsis, but you can use the rest) Check this page for solving this problem.

sudo apt-get install expat libexpat1 libexpat1-dev libgtkmm-2.4-1c2a libgtkmm-2.4-dev \
libgtkglext1 libgtkglext1-dev libsigc++-2.0-0c2a libsigc++-2.0-dev libfreetype6 \
libfreetype6-dev plib1.8.4c2 plib1.8.4-dev python2.4 python2.4-dev libode0debian1  \
libode0-dev exrtools libopenexr-dev libopenexr2ldbl openexr libtiff4 libtiff4-dev \
imagemagick libmagick10 libmagick9-dev libmagick++10 libmagick++9-dev graphviz \
graphviz-dev xsltproc  libgts-0.7-5 libgts-dev \
librsvg2-2 librsvg2-bin librsvg2-common librsvg2-dev libtool libxml2-dev libxml2 \
libtiff4 libsuperlu3 libsuperlu3-dev libsigc++-2.0-dev libboost-dev libboost-regex-dev \
libboost-filesystem-dev libboost-date-time-dev libboost-serialization-dev libgtkmm-2.4-dev  libglibmm-2.4-1c2a \
libuuid1 uuid-dev libgnomevfs2-0 libgnomevfs2-dev \
liborbit0 liborbit2cpp-dev liborbit2cpp9c2a gettext \
libboost-python-dev libbonobo2-0 libbonobo2-common libbonobo2-dev \
libboost-program-options1.34.1 libboost-program-options-dev libboost-graph-dev k3d-dev g++ cmake

Gusty

On Ubuntu Gutsy, You can use this command:

sudo apt-get install expat libexpat1 libexpat1-dev \
libgtkmm-2.4-1c2a libgtkmm-2.4-dev \
libgtkglext1 libgtkglext1-dev libsigc++-2.0-0c2a libsigc++-2.0-dev libfreetype6 \
libfreetype6-dev plib1.8.4c2 plib1.8.4-dev python2.4 python2.4-dev libode0debian1  \
libode0-dev exrtools libopenexr-dev libopenexr2c2a openexr libtiff4 libtiff4-dev \
imagemagick libmagick9 libmagick9-dev libmagick++9c2a libmagick++9-dev graphviz \
graphviz-dev xsltproc  libgts-0.7-5 libgts-dev aqsis aqsis-libsc2a  aqsis-libs-dev \
librsvg2-2 librsvg2-bin librsvg2-common librsvg2-dev libtool libxml2-dev libxml2 \
libtiff4 libsuperlu3 libsuperlu3-dev libsigc++-2.0-dev libboost-dev \
libboost-regex-dev \
libboost-filesystem-dev libboost-date-time-dev \
libboost-serialization-dev libgtkmm-2.4-dev  libglibmm-2.4-1c2a \
libuuid1 uuid-dev libgnomevfs2-0 libgnomevfs2-dev \
liborbit0 liborbit2cpp-dev liborbit2cpp9c2a \
libboost-python-dev libbonobo2-0 libbonobo2-common libbonobo2-dev \
libboost-program-options1.34.1 libboost-program-options-dev \
libboost-graph-dev k3d-dev \
libgmp3-dev and libmpfr-dev

Feisty

Install the k3d package dependecies.(maybe I missed some Debian package, please add it here if you find so)

sudo apt-get install expat libexpat1 libexpat1-dev libgtkmm-2.4-1c2a libgtkmm-2.4-dev \
libgtkglext1 libgtkglext1-dev libsigc++-2.0-0c2a libsigc++-2.0-dev libfreetype6 \
libfreetype6-dev plib1.8.4c2 plib1.8.4-dev python2.4 python2.4-dev libode0c2  \
libode0-dev exrtools libopenexr-dev libopenexr2c2a openexr libtiff4 libtiff4-dev \
imagemagick libmagick9 libmagick9-dev libmagick++9c2a libmagick++9-dev graphviz \
graphviz-dev xsltproc  libgts-0.7-5 libgts-dev aqsis aqsis-libsc2a  aqsis-libs-dev \
librsvg2-2 librsvg2-bin librsvg2-common librsvg2-dev libtool libxml2-dev libxml2 \
libtiff4 libsuperlu3 libsuperlu3-dev libsigc++-2.0-dev libboost-dev libboost-regex-dev \
libboost-filesystem-dev libboost-date-time-dev libboost-serialization-dev libgtkmm-2.4-dev  libglibmm-2.4-1c2a \
libuuid1 uuid-dev libgnomevfs2-0 libgnomevfs2-dev \
liborbit0 liborbit2cpp-dev liborbit2cpp9c2a xgettext \
libboost-python-dev libbonobo2-0 libbonobo2-common libbonobo2-dev \
libboost-program-options1.33.1 libboost-program-options-dev libboost-graph-dev k3d-dev g++

Build Instructions

Build it following the instructions in the CMake Build article.
If you want to add the cgal boolean plugin:

  • Install the libgmp3-dev and libmpfr-dev packages.
  • Follow the instructions for adding Cgal 3.3 on CGAL Boolean Operations#Installation
  • Remember to add the /usr/local/lib path to the library path
    • run ldconfig /usr/local/lib on the command line
    • This will be necessary before compiling K-3D and when running K-3D otherwise K-3D will not find the Cgal libraries

Building K-3D 0.6

Get the tar from http://sourceforge.net/projects/k3d or from the CVS.

Dependencies

Actually there is a k3d package on Debian. So you can install the k3d-dev packages to resolve the tar dependencies. Then optionally uninstall the k3d-dev package if you dont want it anymore.

  • As root or with the sudo command do:
 apt-get install k3d-dev

Build Instructions

Follow the Build Instructions for the 0.5 version.
If configure fails, check Dependencies for the 0.5 version.

Probably you will need to install some of the following packages if the k3d-dev trick wasnt enough.
 libsigc++-2.0-dev libboost-dev libboost-regex-dev libboost-filesystem-dev \
 libboost-date-time-dev libgtkmm-2.4-dev libgtkglextmm1-dev libglibmm-2.4-1c2a 

Configure usually fails due to missing library dependencies (will be printed on the screen). Obtain the missing libraries searching with apt (apt-cache search "something you search", make sure you have the needed repositorires check with Debian repositories and Ubuntu repositories) and install them. You will probably need to install the "package_name"-dev version of the library. If you still can't find the requested package try going to the packages web site to get more information on how it can be installed. Or follow the instructions on how to disable features that require those libraries. (for more ./configure options run ./configure --help)

Building K-3D 0.5

Get the tar from http://sourceforge.net/projects/k3d or from the CVS.

Dependencies

This packages where installed on a Debian Sid:

  • (should work on new Debians, maybe changing the package version)
 $ apt-get install expat libexpat1 libexpat1-dev libgtkmm-2.4-1 libgtkmm-2.4-dev \
 libgtkglext1 libgtkglext1-dev libsigc++-2.0-0 libsigc++-2.0-dev libfreetype6 \
 libfreetype6-dev plib1.8.4 plib1.8.4-dev python2.3 python2.3-dev libode0  \
 libode0-dev exrtools libopenexr-dev libopenexr2 openexr libtiff4 libtiff4-dev \
 imagemagick libmagick6 libmagick6-dev libmagick++6 libmagick++6-dev graphviz \
 graphviz-dev xsltproc  libgts-0.7-1 libgts-dev aqsis aqsis-libs  aqsis-libs-dev \
 librsvg2-2 librsvg2-bin librsvg2-common librsvg2-dev libtool libxml2-dev libxml2 \
 libtiff4 libsuperlu3 libsuperlu3-dev automake1.9

See also External Dependencies.

Build Instructions

Follow the Generic Build instructions.

Here is a quick tutorial:

  • Untar
    • if tar.bz2: tar -xjf "file".tar.bz2
    • if tar.gz: tar -xzf "file".tar.gz
  • If there is no ./configure run:
    • ./bootstrap
  • Now you can run ./configure, you have the following options:
    • Without debugging symbols and without optimization (about 300mb):
$ CFLAGS= CXXFLAGS= ./configure
  • Without debugging symbols and with optimization (about 300mb):
$ CFLAGS="-O2" CXXFLAGS="-O2" ./configure
  • With debugging symbols and no optimization (about 1Gb):
$ ./configure
  • See more options on Optimizing And Saving Space.
    • For more ./configure options run ./configure --help. Probably you will use the following options:
--prefix=PUT_YOUR_PATH_HERE
  • to change the installation directory. The default is /usr/local/k3d
--without-svg-icons
  • On some ubuntu configurations the .svg icons are not seen, use this if this happens.


  • Run
$ make
  • Finally
$ make install

The k3d the program is on:

$ /usr/local/k3d/bin/k3d &

Building K-3D 0.4

  • K-3D version: 0.4
  • Build environment: autotools + gcc.

Dependencies

If you are building from source, use the following to get all the dependencies:

$ apt-get install expat libexpat1 libexpat1-dev libgtkmm-2.4-1 libgtkmm-2.4-dev  \
libgtkmmext0 libgtkmmext0-dev libgtkglext1 libgtkglext1-dev libgtkglextmm1 \
libgtkglextmm1-dev libsigc++-2.0-0 libsigc++-2.0-dev libfreetype6 \
libfreetype6-dev plib1.8.4 plib1.8.4-dev python2.3 python2.3-dev libode0 \
libode0-dev exrtools libopenexr-dev libopenexr2 openexr libtiff4 libtiff4-dev \
imagemagick libmagick6 libmagick6-dev libmagick++6 libmagick++6-dev graphviz \
graphviz-dev xsltproc  libgts-0.7-1 libgts-dev automake1.4 aqsis aqsis-libs \
aqsis-libs-dev librsvg2-2 librsvg2-bin librsvg2-common librsvg2-dev libtool

Build Instructions

Follow the Generic Build instructions, or download Debian Packages directly.

Acknowledgement

Thanks to the work of Ender <ender at debian org>, the K-3D stable tree builds on many Debian supported platforms.

Personal tools