Difference between revisions of "Building"
(Clarify build instructions w.r.t. SVN) |
(→General Instructions) |
||
Line 1: | Line 1: | ||
== General Instructions == | == General Instructions == | ||
− | For the very latest source code, [[Subversion|get the sources from Subversion]]; alternatively, use the latest | + | For the very latest source code, [[Subversion|get the sources from Subversion]]; alternatively, use the latest release source file of type <tt>gnucash-<version>.tar.gz</tt>. Examine the [http://svn.gnucash.org/trac/file/gnucash/trunk/README.dependencies README.dependencies] file for the list of build dependencies for your distribution, the [http://svn.gnucash.org/trac/file/gnucash/trunk/README.svn README.svn] file for notes on compiling gnucash, and the [http://svn.gnucash.org/trac/file/gnucash/trunk/HACKING HACKING] file for notes on hacking the code. |
Here are the basic steps one might end up taking: | Here are the basic steps one might end up taking: |
Revision as of 19:22, 10 June 2007
Contents
General Instructions
For the very latest source code, get the sources from Subversion; alternatively, use the latest release source file of type gnucash-<version>.tar.gz. Examine the README.dependencies file for the list of build dependencies for your distribution, the README.svn file for notes on compiling gnucash, and the HACKING file for notes on hacking the code.
Here are the basic steps one might end up taking:
1. Change to gnucash directory
cd gnucash
2. If this code was retrieved from SVN, generate the configure script (otherwise skip this step)
./autogen.sh
3. Look at available configure options
./configure --help
4. Run configure with the appropriate options; some example options might look as follows
./configure --prefix=/opt/gnucash \ --enable-debug --enable-doxygen \ --enable-error-on-warning --enable-compile-warnings \ [--enable-ofx [...]]
5. Compile and install
make make install
6. Run
/opt/gnucash/bin/gnucash
Distro-specific Information
See the README.dependencies file for library dependency notes.
Debian
On Debian, the packages you'll probably need are (among many others):
swig libgnomeui-dev libofx-dev libgsf-1-dev libgtkhtml3.2-dev (3.6 or 3.8 will also do)
For the 2.0-branch of GnuCash you need additionally:
libgwrapguile-dev OR guile-g-wrap
If you see the error "<unnamed port>: no code for module (g-wrap gw standard)" at runtime, see this particular FAQ.
Ubuntu
If you are on an older version of ubuntu (or debian for that matter) such as dapper with long-term support and need certain packages that are not available from the dapper-backports do not fret. You can easily compile them yourself (essentially backporting them). Make sure you have a line of the form
deb-src http://archive.ubuntu.com/ubuntu edgy main restricted universe
in your /etc/apt/sources.list. You want the version (edgy in above example) to be at least one release higher than what you have installed. Then you can use the following lines to compile and install any software version that you need but is missing from the official repositories for the release you run.
cd /usr/src sudo apt-get build-dep $packageyouwant apt-get --compile source $packageyouwant dpkg -i $packageyouwant.deb
Easy as 1-2-3!
Breezy Badger
Please see the BreezyBadgerInstallation page for more information on installing a beta snapshot of GnuCash on Breezy Badger.
Dapper Flight 7
get necessary packages
On a fresh install of Ubuntu/Dapper, do the following to be able to compile trunk gnucash:
sudo apt-get install libguile-dev libgwrapguile-dev guile-www
There are possibly other dependencies (that I already had installed), but this should get you started.
The below was ok for Flight 5
sudo apt-get install libgnomeui-dev libofx-dev libgsf-1-dev \ libgtkhtml3.8-dev guile-g-wrap libltdl3-dev g-wrap doxygen \ libgsf-gnome-1-dev automake1.9 texinfo build-essential intltool \ libtool subversion libfinance-quote-perl
For straight Dapper, I needed:
sudo apt-get install libglib2.0-dev intltool automake1.9 autoconf libtool libgconf2-dev swig slib libxml2
Create development tree
mkdir -p $HOME/development/gnucash mkdir -p $HOME/unstable/gnucash
Check out gnucash trunk
cd $HOME/development/gnucash svn checkout http://svn.gnucash.org/repo/gnucash/trunk gnucash
Compile gnucash
cd gnucash ./autogen.sh
./configure --prefix=$HOME/unstable/gnucash \ --enable-debug --enable-doxygen \ --enable-error-on-warning --enable-compile-warnings
make all install
Start newly compiled gnucash
cd $HOME/unstable/gnucash/bin ./gnucash
Gentoo
Gentoo instructions can be found on Gnucash-svn installation on Gentoo.
Mac OS X
Mac OS X instructions can be found on gnucash installation from source on Mac OS X.
Fedora Core 5
At least the following packages are required to build GnuCash from source on FC5:
libtool-ltdl-devel guile-devel g-wrap-devel libgnomeprint22-devel libgnomeprintui22-devel gtkhtml3-devel
Suggested way to satify all requirements:
# yum install libtool-ltdl-devel guile-devel g-wrap-devel libgnomeprint22-devel \ libgnomeprintui22-devel gtkhtml3-devel
Please note that while the configure script only checks for GtkHTML up to 3.8, recent versions of GtkHTML ship with "libgtkhtml-3.8.pc" so yes, you CAN use gtkhtml3-3.10 on FC5.