Package dependencies

David Reiser dbreiser at
Thu Sep 25 12:35:01 EDT 2008

The fink lists would be a better place for this question, but I think  
the general answer is "dependencies of dependencies". Sure, if you  
hand built each of the libraries upon which gnucash is based, you  
could noticeably trim the packages you install. But fink tends to  
build each of those packages in the most generally usable way it can  
(as in: include all the capabilities of each library that are readily  
ported to the mac, not just the pieces any specific client app uses).

There have been some discussions of late about trimming back notable  
offenders, like doxygen. A generic build of doxygen builds the docs,  
which requires every app it serves to be present and that drags in a  
huge list. And a recent release of fink's swig (not needed for gnucash  
built in fink) claimed to need gcc43 (an extra 6 hours of compiling  
alone). That one has been fixed, but certainly there are other  
opportunities to streamline package definitions. Unfortunately, there  
are only a few dozen active maintainers of fink handling the 7000+  
packages. Care to volunteer some time?

You are right that there are a bunch of things built that won't get  
used. But I'm certainly not going to build a customized library just  
so I don't take up a few more megabytes of disk space (even when a few  
megabytes is multiplied by a hundred libraries).

On Sep 25, 2008, at 12:14 PM, Gordon Kindlmann wrote:

> Hello-
> As someone faced with installing gnucash from the first time on a
> Mac, I get to see all the various packages that it depends on
> (below).  Some of them just don't make sense.  As part of making an
> informed decision to use gnucash, I'd love some perspective on how
> they contribute to this software.
> If I've done something wrong in how I've selected the virtual
> dependencies within fink for "gnucash2", that would be good to know.
> Otherwise, I'm stumped:
> fftw3?  For doing Fourier Transforms of my bank statements?  Yes,
> this is probably from Octave, but then why use all of Octave?
> cdparanoia?  ogg & vorbis?  esound? What do these audio tools have to
> do with accounting?
> qhull?  This is computational geometry stuff for doing n-dimensional
> convex hull computations.  I genuinely curious how it helps for
> accounting.
> HDF5?  This is a heavy-weight scientific data fileformat.
> giflib, libtiff, libjpeg, AND libpng:  I bet gnucash isn't reading
> these image formats; does it have to generate them all?
> guile, tcl, python, AND ruby: I thought gnucash was C + guile; very
> sensible.  What are Tcl, python, and ruby doing here?
> tk, qt, openmotif, AND gnome:  How many toolkits are needed for this
> to have a GUI?
> Thanks for any insight,
> Gordon
> Pick one: [1]
> The following package will be installed or updated:
>  gnucash2
> The following 362 additional packages will be installed:
>  aalib aalib-bin aalib-shlibs app-defaults aqbanking16 aqbanking16-
> shlibs
>  aquaterm aquaterm-dev aquaterm-shlibs atk1 atk1-shlibs atlas-shlibs
> audiofile
>  audiofile-bin audiofile-shlibs autoconf automake1.9 avahi avahi-dev
> bison
>  cairo cairo-shlibs clisp crypt-ssleay-pm586 daemonic date-manip-pm
> db44-aes
>  db44-aes-shlibs dbus dbus-dev dbus-shlibs default-icon-theme
>  docbook-dsssl-nwalsh docbook-dtd docbook-utils docbook-xsl doxygen
> eel2.2-dev
>  eel2.2-shlibs esound esound-bin esound-common esound-shlibs evince
>  expat-shlibs expat1 expat1-shlibs fftw3 fftw3-shlibs finance-quote-
> pm586
>  finance-quotehist-pm586 fink-obsolete-packages fontconfig-config
>  fontconfig2-dev fontconfig2-shlibs freetype219 freetype219-shlibs
> gail18
>  gail18-dev gail18-shlibs gawk gcc43 gcc43-shlibs gconf2 gconf2-dev
>  gconf2-shlibs gd2 gd2-bin gd2-shlibs gdbm gdbm-shlibs gdbm3 gdbm3-
> shlibs
>  gettext-tools ghostscript ghostscript-fonts giflib giflib-bin
> giflib-shlibs
>  glib glib-shlibs glib2-dev glib2-shlibs glitz glitz-shlibs glpk-dev
>  glpk-shlibs gmp gmp-shlibs gnome-base gnome-common gnome-desktop
>  gnome-desktop4-dev gnome-desktop4-shlibs gnome-doc-utils gnome-icon-
> theme
>  gnome-keyring gnome-keyring-dev gnome-keyring-shlibs gnome-menus2-dev
>  gnome-menus2-shlibs gnome-mime-data gnome-vfs2-unified gnome-vfs2-
> unified-dev
>  gnome-vfs2-unified-shlibs gnucash2-shlibs gnuplot graphviz graphviz-
> shlibs
>  gst-plugins-base-0.10 gst-plugins-base-0.10-dev gst-plugins-
> base-0.10-shlibs
>  gstreamer-0.10 gstreamer-0.10-dev gstreamer-0.10-shlibs gtk+2 gtk+2-
> dev
>  gtk+2-shlibs gtk-doc gtkglarea2 gtkglarea2-shlibs gtkglext1
> gtkglext1-shlibs
>  gtkhtml3.14-dev gtkhtml3.14-shlibs guile18 guile18-dev guile18-gtk
>  guile18-gtk-shlibs guile18-libs guile18-shlibs guile18-www
> gwenhywfar38
>  gwenhywfar38-shlibs hdf5 hdf5-bin hdf5-shlibs html-tableextract-pm586
>  html-tagset-pm icon-naming-utils intltool jadetex ktoblzcheck
>  ktoblzcheck-bankdata ktoblzcheck-shlibs libart2 libart2-shlibs
>  libavahi-client3-shlibs libavahi-common3-shlibs libavahi-core5-shlibs
>  libavahi-glib1-dev libavahi-glib1-shlibs libbonobo2 libbonobo2-dev
>  libbonobo2-shlibs libbonoboui2 libbonoboui2-dev libbonoboui2-shlibs
>  libcdparanoia0-dev libcdparanoia0-shlibs libcroco3 libcroco3-shlibs
>  libcurl3-unified libcurl3-unified-shlibs libcurl4 libcurl4-shlibs
> libdaemon
>  libdaemon-shlibs libdatrie libdatrie-shlibs libexif12 libexif12- 
> shlibs
>  libgcrypt libgcrypt-shlibs libgettextpo2-shlibs libggi2 libggi2-dev
>  libggi2-shlibs libgii0 libgii0-dev libgii0-shlibs libglade2
> libglade2-shlibs
>  libgmpxx-shlibs libgnome2 libgnome2-dev libgnome2-shlibs
> libgnomecanvas2
>  libgnomecanvas2-dev libgnomecanvas2-shlibs libgnomecups-dev
>  libgnomecups-shlibs libgnomeprint2.2-dev libgnomeprint2.2-shlibs
>  libgnomeprintui2.2-dev libgnomeprintui2.2-shlibs libgnomeui2
> libgnomeui2-dev
>  libgnomeui2-shlibs libgoffice-0.6 libgoffice-0.6-shlibs libgpg-error
>  libgpg-error-shlibs libgsf1.114-dev libgsf1.114-gnome-dev
>  libgsf1.114-gnome-shlibs libgsf1.114-shlibs libicu32-dev libidl2
>  libidl2-shlibs libjpeg libjpeg-bin libjpeg-shlibs libkpathsea4
>  libkpathsea4-shlibs libming-dev libming0-shlibs libmpfr1 libmpfr1-
> shlibs
>  libnautilus-ext1-dev libnautilus-ext1-shlibs libofx3 libofx3-shlibs
> libogg
>  libogg-shlibs liboil-0.3 liboil-0.3-shlibs libpng3 libpng3-shlibs
>  librarian.0-shlibs librsvg2 librsvg2-shlibs libsigsegv libsigsegv-
> shlibs
>  libssh2.1 libssh2.1-shlibs libthai libthai-dev libthai-shlibs
>  libtheora0-shlibs libtiff libtiff-bin libtiff-shlibs libtool14
>  libtool14-shlibs libvorbis0 libvorbis0-shlibs libwww libwww-bin
> libwww-pm586
>  libwww-shlibs libxml++1 libxml++1-shlibs libxml2 libxml2-bin
> libxml2-py25
>  libxml2-shlibs libxslt libxslt-bin libxslt-shlibs lua51 lua51-dev
> lua51-shlibs
>  lynx m4 mono mono-shlibs ocaml ocaml-findlib octave-atlas openjade
> openmotif3
>  openmotif3-shlibs opensp4 opensp4-dev opensp4-shlibs orbit2 orbit2- 
> dev
>  orbit2-shlibs pango1-xft2-ft219 pango1-xft2-ft219-dev pango1-xft2-
> ft219-shlibs
>  passwd pcre pcre-bin pcre-shlibs pdflib6 pdflib6-shlibs pixman
> pixman-shlibs
>  pkgconfig plotutils plotutils-dev plotutils-shlibs poppler-bin
> poppler-data
>  poppler2 poppler2-glib poppler2-glib-shlibs poppler2-shlibs popt
> popt-shlibs
>  python25 python25-shlibs python25-socket pyxml-py25 qhull qt3 qt3-
> designer
>  qt3-designer-shlibs qt3-doc qt3-linguist qt3-shlibs rarian rarian-
> compat
>  readline readline-shlibs readline5 readline5-shlibs ruby ruby18
> ruby18-dev
>  ruby18-shlibs sdl sdl-shlibs sed sgml-entities-iso8879 sgmls-pm
>  shared-mime-info slib3 slib3-gu18 sqlite3-dev sqlite3-shlibs
>  startup-notification-dev startup-notification-shlibs suitesparse swig
>  system-openssl-dev szip szip-shlibs t1lib5-nox t1lib5-nox-shlibs
> t1lib5-x11
>  t1lib5-x11-shlibs tcltk tcltk-dev tcltk-shlibs tetex-base tetex-texmf
>  texi2html texinfo text-csv-pp-pm586 wxgtk2.8 wxgtk2.8-shlibs xdg-
> base xft2-dev
>  xmkmf xml-namespacesupport-pm xml-parser-pm586 xml-sax-expat-pm586
>  xml-sax-pm586 xml-simple-pm586
> Do you want to continue? [Y/n] not likely
> _______________________________________________
> gnucash-user mailing list
> gnucash-user at
> -----
> Please remember to CC this list on all your replies.
> You can do this by using Reply-To-List or Reply-All.

David Reiser
dbreiser at

More information about the gnucash-user mailing list