Installation of GnuCash on Slackware
Here's the best information I've come up with, so far. I've done this on a Slackware10.1 installation with no GNOME2 files installed. It should be the same for Slack 10.2 (maybe imlib1 is not available?) I've tried to clear up several lingering questions and difficult spots, while bringing a few new questions, too. Sorry, these are not newbie-friendly instructions and will make more sense to those who've already tried this. My aim was to work out the dependencies and compile-order for building a mini-GNOME. Getting gnucash to work provided the perfect pretext -but I don't USE gnucash (yet?), so feedback is very appreciated.
About SLIB: slib is what makes gnucash need to be run as root the first time, so that the file /usr/share/guile/1.6/slibcat can be created -an operation not permitted for normal users. I've had success generating this catalog using all 3 suggested ways -by running mklib.cat or guile.init, and manually by invoking guile interactively(as root). Since this is a 'noarch' package anyway, I just include the generated catalog in the slib package which seems to solve the run-as-root-first problem. slib2d6 works fine, though I think 3a1 will also work, but may need paths ajusted. The libraries come from a rpm package. If you install it that way, you'll have to generate that catlog using one of the above methods.
First of all, make sure you have these installed from Slackware:
Everything is configured and compiled generally with
-O2 -march=i486 -mcpu=i686
--prefix=/usr --localstatedir=/var/lib --with-gnu-ld
Any further configuration options or overrides are noted below for each package.
In order to get gnome-libs to compile you'll need to recompile ORBit-0.5.17. The Slackware package will not work for compiling, but you can replace the original for runtime-only. ORBit-0.5.17 installs both the IDL and orbit libraries. You need to uninstall the Slackware ORBit package, then compile and installed this to proceed with further compilations.
You also need to recompile gdk-pixbuf-0.22.0. The Slackware package is lacking the gnome_canvas headers and libraries which will be needed for compiling gnucash and at runtime.
Note that many of the packages included in Slackware-current are the actual packages built and assembled several years ago. i've had several cases where the runtime libs work okay but not for compiling older software that uses them
Compile GConf-1.0.9 with: --sysconfdir=/etc --datadir=/usr/share
guppi-0.40.3 -Add extra configs: --with-gnome=/usr --disable-libarttest
Note: gnome-mime-data is needed to build gnome-vfs, but can be removed afterwards.
control-center-220.127.116.11 -Add these extra configs:
--with-gnome=/usr --with-gnome-libs=/usr/ --with-gnome-includes=/usr/include/gnome-1.0
gtkhtml-1.1.9 -Add extra configs: --with-gnome=/usr
If you want online banking using OFX or qbanking compile and install the necessary files before compiling gnucash.
Compile gnucash-1.8.11 -Add extra configs: --with-gnome=/usr
For runtime only, the following packages can be removed:
You can also uninstall the ORBit package you created above and reinstall the standard Slackware package if you wish.
All the above I've done with build scripts. The mega-package has been hand-assembled in order to reduce the size.
I've removed all the header files and all the static (.a) libraries. I tried removing all the .la files also, but this broke gnucash.
It may be only the .la files installed by gnucash which are needed. The .la files are all very small anyway.
Most of the size reduction comes from removing the static libs, especially from gnome-libs and gnome-print .
A lot of space can be saved by leaving out most documents, but a mega-package for release should have at least the README and license for each package included.
I do plan to make the full sources and build-scripts available once I am certain that it all works correctly. I may write a script to automate the mega-package assembly. The build scripts I use are part of Amigo PkgBuild which I must polish a tiny bit before uploading.E-Mail Me if you have questions or comments.