Difference between revisions of "Dev:Build Instructions"
(don't use symlinks, older autotools seem to want to modify stuff) |
(add cvs, gettext, libmagick++) |
||
Line 22: | Line 22: | ||
*** Using automake 1.9, 'make install' seems to re-link and re-install all the synfig core modules every time whether they have changed or not. [http://dooglus.rincevent.net/synfig/automake.html here] is an ugly workaround - it's only worth using if you intend to rebuild synfig repeatedly | *** Using automake 1.9, 'make install' seems to re-link and re-install all the synfig core modules every time whether they have changed or not. [http://dooglus.rincevent.net/synfig/automake.html here] is an ugly workaround - it's only worth using if you intend to rebuild synfig repeatedly | ||
*** The instructions below result in 3 separate subversion working directories being created. This is inconvenient to work with - you'll need to 'svn commit' in 3 different places to send changes, 'svn update' in 3 different places to get the latest updates, etc. [[Subversion|This page]] shows how to arrange for the code to be checked out into a single working directory. | *** The instructions below result in 3 separate subversion working directories being created. This is inconvenient to work with - you'll need to 'svn commit' in 3 different places to send changes, 'svn update' in 3 different places to get the latest updates, etc. [[Subversion|This page]] shows how to arrange for the code to be checked out into a single working directory. | ||
+ | *** The CVS requirement is only because the autopoint program run by autoreconf checks for CVS by default. You can avoid the CVS requirement by patching your autopoint script, search for CVS and remove the line that says "cvs program not found" | ||
** Gentoo: SVN [[Gentoo Ebuilds|ebuilds]] are available | ** Gentoo: SVN [[Gentoo Ebuilds|ebuilds]] are available | ||
** MacOS X: [[Building_On_Mac_OS_X|instructions for building]] with the GTK+ Aqua port are available. | ** MacOS X: [[Building_On_Mac_OS_X|instructions for building]] with the GTK+ Aqua port are available. | ||
Line 42: | Line 43: | ||
= synfig = | = synfig = | ||
− | Requires: ETL, libxml++, libsigc++, libltdl, libtool<br> | + | Requires: ETL, libxml++, libsigc++, libltdl, libtool, gettext, cvs<br> |
− | * Debian: etl-dev libxml++2.6-dev libsigc++-2.0-dev libltdl3-dev libtool | + | * Debian: etl-dev libxml++2.6-dev libsigc++-2.0-dev libltdl3-dev libtool gettext cvs |
* Gentoo: virtual/ETL dev-cpp/libxmlpp dev-libs/libsigc++ | * Gentoo: virtual/ETL dev-cpp/libxmlpp dev-libs/libsigc++ | ||
Note: libpng isn't required to build synfig, but if you build synfig without PNG support and go on to build synfigstudio, that step will fail (because the build process for synfigstudio uses synfig to create .png icon files). The package is libpng12-dev on Debian or media-libs/libpng on Gentoo. | Note: libpng isn't required to build synfig, but if you build synfig without PNG support and go on to build synfigstudio, that step will fail (because the build process for synfigstudio uses synfig to create .png icon files). The package is libpng12-dev on Debian or media-libs/libpng on Gentoo. | ||
− | Optional: libpng, libtiff, libjpeg, libfreetype, libfontconfig, libopenexr, libavcodec, vimage (MacOS only, proprietary)<br> | + | Optional: libpng, libtiff, libjpeg, libfreetype, libfontconfig, libopenexr, libavcodec, libmagick++, vimage (MacOS only, proprietary)<br> |
− | * Debian: libpng12-dev libtiff4-dev libjpeg62-dev libfreetype6-dev libfontconfig1-dev libopenexr-dev libavcodec-dev libavformat-dev | + | * Debian: libpng12-dev libtiff4-dev libjpeg62-dev libfreetype6-dev libfontconfig1-dev libopenexr-dev libavcodec-dev libavformat-dev libmagick++9-dev |
** if using debian-multimedia.org debs swap the libav packages with the virtual packages libavformatcvs-dev libavcodeccvs-dev libavutilcvs-dev from debian-multimedia | ** if using debian-multimedia.org debs swap the libav packages with the virtual packages libavformatcvs-dev libavcodeccvs-dev libavutilcvs-dev from debian-multimedia | ||
* Gentoo: sys-devel/libtool media-libs/libpng media-libs/tiff media-libs/jpeg media-libs/freetype media-libs/fontconfig media-libs/openexr media-libs/libavcodec | * Gentoo: sys-devel/libtool media-libs/libpng media-libs/tiff media-libs/jpeg media-libs/freetype media-libs/fontconfig media-libs/openexr media-libs/libavcodec | ||
Line 71: | Line 72: | ||
= synfigstudio = | = synfigstudio = | ||
− | Requires: ETL, synfig, gtkmm >= 2.4, gtk >= 2.0, glibmm, libsigc++, libltdl, libtool<br> | + | Requires: ETL, synfig, gtkmm >= 2.4, gtk >= 2.0, glibmm, libsigc++, libltdl, libtool, gettext, cvs<br> |
− | * Debian: etl-dev libsynfig-dev libgtkmm-2.4-dev libgtk2.0-dev libglibmm-2.4-dev libsigc++-2.0-dev libltdl3-dev libtool | + | * Debian: etl-dev libsynfig-dev libgtkmm-2.4-dev libgtk2.0-dev libglibmm-2.4-dev libsigc++-2.0-dev libltdl3-dev libtool gettext cvs |
* Gentoo: virtual/ETL virtual/synfig dev-cpp/gtkmm-2.4 dev-libs/libsigc++ sys-devel/libtool | * Gentoo: virtual/ETL virtual/synfig dev-cpp/gtkmm-2.4 dev-libs/libsigc++ sys-devel/libtool | ||
Optional: fonts (for the images), [http://www.fmod.org FMOD] (proprietary) | Optional: fonts (for the images), [http://www.fmod.org FMOD] (proprietary) |
Revision as of 01:55, 14 November 2007
Notes
If you are using the released versions instead of SVN, the first 3 steps for each component are not necessary. For released versions, "./configure && make && sudo make install" should be enough.
If you are using packages for synfig's dependencies, you want the development packages not the main packages. Check below for your distribution's packages.
Please read the download page and the FAQ to find out about any issues that you may run into along the way.
There is a complete copy of the subversion repository (as a git mirror) available for viewing in a web browser at http://snipr.com/synfigit.
System-Specific
The later sections of this page can be used for any system, but the following links and wiki pages offer some system-specific help:
- Unix (Linux/MacOS X/BSD)
- General
- Some distros have a pkg-config that doesn't look in /usr/local/lib/pkgconfig by default. So if you are installing in anywhere other than the system pkg-config path, please run "export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig" or similar before building or installing anything.
- Don't use automake 1.4, there are problems with it.
- Using automake 1.9, 'make install' seems to re-link and re-install all the synfig core modules every time whether they have changed or not. here is an ugly workaround - it's only worth using if you intend to rebuild synfig repeatedly
- The instructions below result in 3 separate subversion working directories being created. This is inconvenient to work with - you'll need to 'svn commit' in 3 different places to send changes, 'svn update' in 3 different places to get the latest updates, etc. This page shows how to arrange for the code to be checked out into a single working directory.
- The CVS requirement is only because the autopoint program run by autoreconf checks for CVS by default. You can avoid the CVS requirement by patching your autopoint script, search for CVS and remove the line that says "cvs program not found"
- Gentoo: SVN ebuilds are available
- MacOS X: instructions for building with the GTK+ Aqua port are available.
- General
- Windows: instructions for building in mingw are available.
ETL
ETL is a template library, there is nothing to build really, it just needed to be installed.
Requires: autoconf automake
- Debian: build-essential autoconf automake1.9
- svn co http://svn.voria.com/code/ETL/trunk/ etl
- cd etl
- autoreconf -if
- ./configure
- sudo make install
- cd ..
synfig
Requires: ETL, libxml++, libsigc++, libltdl, libtool, gettext, cvs
- Debian: etl-dev libxml++2.6-dev libsigc++-2.0-dev libltdl3-dev libtool gettext cvs
- Gentoo: virtual/ETL dev-cpp/libxmlpp dev-libs/libsigc++
Note: libpng isn't required to build synfig, but if you build synfig without PNG support and go on to build synfigstudio, that step will fail (because the build process for synfigstudio uses synfig to create .png icon files). The package is libpng12-dev on Debian or media-libs/libpng on Gentoo.
Optional: libpng, libtiff, libjpeg, libfreetype, libfontconfig, libopenexr, libavcodec, libmagick++, vimage (MacOS only, proprietary)
- Debian: libpng12-dev libtiff4-dev libjpeg62-dev libfreetype6-dev libfontconfig1-dev libopenexr-dev libavcodec-dev libavformat-dev libmagick++9-dev
- if using debian-multimedia.org debs swap the libav packages with the virtual packages libavformatcvs-dev libavcodeccvs-dev libavutilcvs-dev from debian-multimedia
- Gentoo: sys-devel/libtool media-libs/libpng media-libs/tiff media-libs/jpeg media-libs/freetype media-libs/fontconfig media-libs/openexr media-libs/libavcodec
Runtime: encodedv (from libdv), ffmpeg, convert (from imagemagick)
- Debian: libdv-bin ffmpeg imagemagick
- Gentoo: media-libs/libdv media-video/ffmpeg media-gfx/imagemagick
- svn co http://svn.voria.com/code/synfig-core/trunk/ synfig-core
- cd synfig-core
- libtoolize --ltdl --copy -f
- autoreconf -if
- ./configure
- make
- sudo make install
- cd ..
Notes:
- Don't use --enable-half, it is slow.
synfigstudio
Requires: ETL, synfig, gtkmm >= 2.4, gtk >= 2.0, glibmm, libsigc++, libltdl, libtool, gettext, cvs
- Debian: etl-dev libsynfig-dev libgtkmm-2.4-dev libgtk2.0-dev libglibmm-2.4-dev libsigc++-2.0-dev libltdl3-dev libtool gettext cvs
- Gentoo: virtual/ETL virtual/synfig dev-cpp/gtkmm-2.4 dev-libs/libsigc++ sys-devel/libtool
Optional: fonts (for the images), FMOD (proprietary)
- Debian: ttf-freefont ttf-dejavu ttf-dustin
- Gentoo: freefonts dejavu
- svn co http://svn.voria.com/code/synfig-studio/trunk/ synfigstudio
- cd synfigstudio
- autoreconf -if
- ./configure
- make
- sudo make install
- cd ..
synfig-docs
(This step isn't required to run synfig or synfigstudio, and the documents it gets you are really quite out of date)
This is basically a copy of what is on this wiki.
Requires: sgml processor, ldp docbook stylesheets, db2ps, db2pdf
- Debian: openjade ldp-docbook-dsssl docbook-utils
- svn co http://svn.voria.com/code/synfig-docs/trunk/ synfig-docs
- cd synfig-docs
- make multiple-html
- make ps
- make pdf