LWN.net Logo

Advertisement

Interested in hardware, diags, validation, Linux, C, ARM, Microcode and low level programming and blazing networks?

Advertise here

State of the GnuCash project

State of the GnuCash project

Posted Aug 12, 2003 1:06 UTC (Tue) by stevep (guest, #13939)
Parent article: State of the GnuCash project

There's been a lot of stuff I've wanted to contribute to GnuCash, but frankly, even compiling the thing is a PITA which can take days on a clean-installed LFS (linuxfromscratch.org) system, and can break stuff on a "proper" Linux distro.

What the GnuCash team need to do to attract developers is:

1) Identify dependencies (including min and max version numbers)
2) Identify the reasons for these dependencies,
3) After (2), review if a broader scope is possible (eg, exactly which versions of guppi can be used?)
4) After (2), review which dependencies are required for which features
5) Accurately ist the dependencies by feature
6) Document (4).
7) Fix the configure script so users can build without the entire dependency list available if they do not require the specified features
8) Document accurate and readable build instructions with useful explanations (the LinuxFromScratch.org project's quality of documentation should be used as a minimum target for this)
9) Publicise GnuCash among Linux users, and the need for developers
10) Take time out to clean up the code as identified in (2-8). Target should be to install with a standard GNOME 2.x (ideally 1.4+ also) installation as identified by GNOME. This should take priority over feature-creep, and may even involve removing features.
11) Repeat (9)
12) Success!


(Log in to post comments)

State of the GnuCash project

Posted Aug 12, 2003 7:20 UTC (Tue) by ekj (subscriber, #1524) [Link]

Exactly. The Dependancy-Hell has been the sole factor stopping me personally from contributing to Gnucash. I actually tried. Twice. I started by doing the same thing I would do with any project where I want to contribute:

Get the newest version from CVS, and compile it.

Unfortunately that is as far as I came, infact compiling it never worked.

* It needed like 20 different libraries.
* Half of those are not in the standard distros.
* A few of those must be one spesific version (not older, not newer)
* Installing that spesific version would blow up other software that depends on a newer version.
* Installing /both/ the older and the newer version migth in principle work, but is a chore.

So, in both cases, having wasted half a daz for what should be a 20 minute procedure, I just gave up. I strongly suspect there are dozens of other programmers with similar experiences.

why not solve the dep. problem once ?

Posted Aug 12, 2003 10:31 UTC (Tue) by guybar (guest, #798) [Link]

Whoa, that's a lot of design changes just b/c of release constraints !

why not, instead:

1) create a single directory-tree including _ALL_ the libraries and tools that gnucash needs, for the current dev. version., in binary form.
plus, perhaps, a small scriptlet to source for the environment vars.

2) tar bzip the tree.

3) repeat 1-2 for the latest versions of 4 major distribs (RH, SUSE, MDK, DEB testing or unstable)

4) repeat 1-3 for each new gnucash dev. version.

release as a sort of "permanent alpha/beta" status package. (i.e. for devs only)


In other words, I view the compilation problems as more of a distribution difficulty (as in distributing to the client, not as in lin. dist.) than as a design defect. The solution should be in that direction.

why not solve the dep. problem once ?

Posted Aug 12, 2003 12:59 UTC (Tue) by kleptog (subscriber, #1183) [Link]

You don't need to do it for Debian. apt-get install gnucash has always worked for me. I'm upgrading from 1.6 to 1.8 right now. Sure, apt needed to upgrade 13 other packages, but hey. I don't have to think about!

Thank god for Debian.

URPMI's the same

Posted Aug 12, 2003 14:35 UTC (Tue) by leonbrooks (guest, #1494) [Link]

"urpmi --auto-select" gets latest versions and all necessary dependencies plus
knock-on dependencies.

Dependencies: binary (from Mandrake 9.1 / GnuCash 1.67)

Posted Aug 12, 2003 14:32 UTC (Tue) by leonbrooks (guest, #1494) [Link]

guile >= 1.4-11mdk
umb-scheme >= 3.2-17mdk
Guppi
libghttp1
g-wrap >= 1.1.10
python >= 2.2
libICE.so.6
libIIOP.so.0
libORBit.so.0
libORBitCosNaming.so.0
libORBitutil.so.0
libSM.so.6
libX11.so.6
libXext.so.6
libXi.so.6
libart_lgpl.so.2
libaudiofile.so.0
libbonobo-print.so.2
libbonobo.so.2
libbonobox.so.2
libc.so.6
libdb.so.2
libdl.so.2
libesd.so.0
libfreetype.so.6
libg-wrap-runtime-guile.so.2
libgal.so.19
libgconf-1.so.1
libgconf-gtk-1.so.1
libgdk-1.2.so.0
libgdk_imlib.so.1
libgdk_pixbuf.so.2
libghttp.so.1
libglade-gnome.so.0
libglade.so.0
libglib-1.2.so.0
libgmodule-1.2.so.0
libgncengine.so.1
libgnome.so.32
libgnomecanvaspixbuf.so.1
libgnomeprint.so.15
libgnomesupport.so.0
libgnomeui.so.32
libgtk-1.2.so.0
libgtkhtml.so.20
libguile.so.9
libguppi.so.16
libguppitank.so.16
libm.so.6
liboaf.so.0
libpopt.so.0
libutil.so.1
libxml.so.1
libz.so.1
libzvt.so.2
libc.so.6(GLIBC_2.0)
libc.so.6(GLIBC_2.1)
libc.so.6(GLIBC_2.2)
libdb.so.2(GLIBC_2.0)
libm.so.6(GLIBC_2.0)

Dependencies: gnucash-devel (from Mandrake 9.1 / GnuCash 1.67)

Posted Aug 12, 2003 14:33 UTC (Tue) by leonbrooks (guest, #1494) [Link]

gnucash = 1.6.7
rpmlib(PayloadFilesHavePrefix) <= 4.0-1
rpmlib(CompressedFileNames) <= 3.0.4-1
ld-linux.so.2
libc.so.6
libdl.so.2
libglib-1.2.so.0
libgncengine.so.1
libm.so.6
libpopt.so.0
libxml.so.1
libz.so.1
libc.so.6(GLIBC_2.0)

...but from memory, there was an item or two missing from this.

Copyright © 2012, Eklektix, Inc.
Comments and public postings are copyrighted by their creators.
Linux is a registered trademark of Linus Torvalds