Finally, built unstable!

Jonathan David Wheelhouse whsjnd@globalfreeway.com.au
Sun, 4 Feb 2001 00:11:10 +1100


Hi

Just want to thank all (Dave Peticolas and others) for helping me out
building latest gnucash unstable.  Finally got it working - more as a
matter of persistence than anything else and your help.

Perhaps, the docs could improve on how to do this so I'm including
some terse notes below on how I did it.  Hopefully, this will help
anybody searching the mailing list archive for this type of
information.

But please note, Linux development is all new to me; I've probably got
some things wrong so be warned :-) I've put these steps in what I
think is the optimal order.  However, I didn't follow these steps in
this order because I didn't know I needed something before until I ran
into problems later on.

You're more than welcome to make corrections.

GOAL: Play with the latest unstable version of gnucash (and maybe help
out with development) while keeping a stable version around.  Have
them both co-exist peacefully.
HOW: Get the latest gnucash sources and build.

My system: Debian sid and gnome

Method:

Get the source:

cd to ~; this is where I put my source.

Connect to the net.

To access the CVS tree, first, login, as so:
        cvs -d :pserver:cvs@cvs.gnucash.org:/home/cvs/cvsroot login

The password is "guest". To get a copy of the latest/beta development
version (which is currently version 1.5.x), do a

cvs -d :pserver:cvs@cvs.gnucash.org:/home/cvs/cvsroot checkout gnucash

Once you've got the source, to keep it updated:
~/gnucash $ cvs update -d
nb. the d option for directories

apt-get whatever development libraries the gnucash web site says to.

Build g-wrap (debs won't work):

lftp ftp://ftp.gnucash.org/pub/g-wrap/source/g-wrap-1.1.8.tar.gz to
/usr/local/src
cd /usr/local/src; gunzip; tar -xvf
./configure --prefix=/usr/local
make
make install

Set LD_LIBRARY_PATH=/usr/local/lib in ~/.bashrc so any programs that
use the g-wrap library can find it when you run them.

cd ~/gnucash
rm config.cache if you don't want your configure choices kept
./autogen.sh --with-g-wrap-prefix=/usr/local
--prefix=/usr/local
You should only have to do this once successfully.

Note you can pass options to autogen.sh; it's a wrapper for Autoconf,
Automake, Libtool and a whole bunch of other things for configuring
the build process.  Apt-get autobook and read that for more
information.

OK, here is where you may get many problems.  Mine were generally
missing libraries.

Here's an example.

The error message may be something like
	checking for gtk_html_new in -lgtkhtml... no
	configure: error: Cannot find gtkhtml.  See the README for more info.

Seems pretty clear: you need to apt-get install libgtkhtml-dev.

However, that may be misleading; the better bet is to view
~/gnucash/config.log; at the bottom it reveals the real error:
	cannot find lgal
So generally you would be fairly safe to apt-get libgal-dev

But not always; sometimes the library is part of another package.  So
go to http://www.debian.org/distrib/packages and use the 'search the
contents of Debian distributions for any files (or just parts of file
names) that are part of packages' feature.  And apt-get that package.

While you're at it, apt-get cygnus-stylesheets; you'll see the reason
why later on.

Now, try:

~/gnucash/$ make

I only had a ERROR: no such module (g-wrap) problem here which got
fixed so I was lucky; hope you are too.

~/gnucash/$ make install

Got error here: /bin/sh: db2html: command not found
Had to apt-get cygnus-stylesheets

I think the configure step should check for db2thml being present.
Is that correct, anyone?

Another error: 
../../../../doc-tools/dbadd: error while loading shared libraries: libg-wrap-runtime-guile.so.2: cannot load shared object file: No such file or directory

and to run

/usr/local/bin/gnucash


Good luck

Jonathan