mirror of
https://github.com/Gnucash/gnucash.git
synced 2024-11-26 02:40:43 -06:00
9b12eaf158
It's no longer used by GnuCash. Yay! git-svn-id: svn+ssh://svn.gnucash.org/repo/gnucash/trunk@21880 57a11ea4-9604-0410-9ed3-97b8803252fd
578 lines
14 KiB
Plaintext
578 lines
14 KiB
Plaintext
GnuCash Compiler Dependency
|
|
---------------------------
|
|
|
|
The GnuCash developers use gcc (http://gcc.gnu.org) for developing and
|
|
testing GnuCash. For convenience, we have relied on certain features
|
|
of gcc that are not part of any official standard and may not be
|
|
available with other standard-compliant compilers. Anyone desiring to
|
|
compile GnuCash with some other compiler may have to remove these
|
|
"gcc-isms", some of which are documented here.
|
|
|
|
Pointer-typed NULL sentinel values
|
|
----------------------------------
|
|
|
|
Gcc provides an implementation of `stddef.h' that defines NULL to
|
|
always expand to a pointer-typed null constant. This is precisely
|
|
what is needed in order to make sentinel value arguments to variadic
|
|
functions correct for both 32 and 64 bit platforms. However, another
|
|
implementation may define NULL to expand to `0'. In that case, all
|
|
sentinel value arguments must have an explicit `(void *)' cast.
|
|
|
|
C++ style comments
|
|
------------------
|
|
|
|
C++ style comments (`// comment to end of line') are discouraged but
|
|
not actively eradicated.
|
|
|
|
Variadic Macros
|
|
---------------
|
|
|
|
GnuCash uses variadic macros for debugging and logging support (via
|
|
qof).
|
|
|
|
Declarations after Code
|
|
-----------------------
|
|
|
|
The use of declarations after code (`int i; i = 0; char *foo;') is
|
|
strongly discouraged and actively removed whenever it's caught.
|
|
|
|
|
|
Important notice
|
|
----------------
|
|
You can find the most recent version of the following part at
|
|
http://wiki.gnucash.org/wiki/Dependencies.
|
|
|
|
GnuCash Library Dependency Policy
|
|
---------------------------------
|
|
|
|
GnuCash desires to only depend on library versions and packages that are
|
|
practically available. Specifically, we choose to depend only on versions
|
|
that have been in the major distributions for 6 months. (This is motivated in
|
|
part by the 1.6 release, which required a large set of relatively-recent
|
|
dependencies. Specifically, as most user's (distributions) did not have the
|
|
required versions packaged, it was exceedingly painful for end users to
|
|
upgrade to the anticipated release, leading to a reputation that gnucash
|
|
still has.)
|
|
|
|
This document serves to keep track of the major distributions, the date of
|
|
their major release[s], and the relevant library versions as part of that
|
|
release (or an official package-upgrade path)
|
|
|
|
Libraries/Deps
|
|
--------------
|
|
required
|
|
--------
|
|
gconf2
|
|
glib2
|
|
gtk+2
|
|
guile
|
|
libart2
|
|
libgnomeprint2.2
|
|
libgnomeui2
|
|
[lib]goffice
|
|
libgsf1
|
|
libxml2
|
|
pango
|
|
swig
|
|
webkit
|
|
|
|
optional
|
|
--------
|
|
aqbanking: online banking
|
|
libdbi + desired database layer: SQL backend
|
|
libofx
|
|
python: python bindings
|
|
|
|
at runtime, suggested
|
|
---------------------
|
|
isocodes: translation of currency names
|
|
|
|
Interesting libraries
|
|
---------------------
|
|
|
|
swig
|
|
glib
|
|
gtk
|
|
cairo
|
|
goffice, libgsf
|
|
gtkprint
|
|
webkit
|
|
|
|
|
|
|
|
|
|
|
|
|
|
---------------------------
|
|
|
|
The rest of the file collected version listings for rather old
|
|
versions of major distributions, as defined by
|
|
http://distrowatch.com/dwres.php?resource=major:
|
|
|
|
|
|
|
|
libgoffice/libgsf details
|
|
-------------------------
|
|
|
|
- libgoffice-0.4.0
|
|
- glib-2.0 >= 2.6.4
|
|
- gobject-2.0 >= 2.6.4
|
|
- gmodule-2.0 >= 2.6.4
|
|
- libgsf-1 >= 1.12.2
|
|
- gobject-2.0 >= 2.6.0
|
|
- glib-2.0 >= 2.6.0
|
|
- libxml-2.0 >= 2.4.16
|
|
- libbonobo-2.0 >= 2.0.0
|
|
- gnome-vfs-2.0 >= 2.2.0
|
|
- gnome-vfs-module-2.0 >= 2.2.0
|
|
- libxml-2.0 >= 2.4.12
|
|
- pango >= 1.8.1
|
|
- pangoft2 >= 1.8.1
|
|
- cairo >= 0.5.0 [optional]
|
|
- gtk+-2.0 >= 2.6.0
|
|
- libgnomeprint-2.2 >= 2.8.2
|
|
- libart-2.0 >= 2.3.11
|
|
- gconf-2.0
|
|
- libgnomeui-2.0 >= 2.0.0
|
|
- libgsf-gnome-1 >= 1.12.2
|
|
|
|
|
|
Partial update, 2007-06-09; RHEL-only
|
|
-------------------------------------
|
|
- RHEL
|
|
- *RHEL 4 = 2005-02-15 RHEL 5
|
|
|
|
- aqbanking: not included aqbanking-2.2.9 from Fedora Core 7
|
|
- cairo: not included cairo-1.4.4 from Fedora Core 7
|
|
- gconf2-2.8.1 GConf2-2.14.0-9.el5
|
|
- glib2-2.4.7 glib2-2.12.3-2.fc6
|
|
- gtk2-2.4.13 gtk2-2.10.4-16.el5
|
|
- guile-1.6.4 guile-1.8.0--8.20060831cvs
|
|
- libart_lgpl-2.3.16 libart-lgpl-2.3.17-4
|
|
- libgnomeprint22-2.8.0 libgnomeprint22-2.12.1-6
|
|
- libgnomeui-2.8.0 libgnomeui-2.16.0-5.el5
|
|
- libgsf-1.10.1 libgsf-1.14.1-6.1
|
|
- libofx: not included libofx-0.8.3 from Fedora Core 7
|
|
- libxml2-2.6.16 libxml2-2.6.26-2.1.2
|
|
- pango-1.6.0 pango-1.14.9 from Fedora Core 7
|
|
|
|
|
|
Status, 2007-01-17
|
|
------------------
|
|
|
|
1. Ubuntu
|
|
- 2006.10 [2006/10/26]
|
|
- gtk+ 2.10.6
|
|
- swig 1.3.28-1.1ubuntu1
|
|
- 2006.06 [2006/06/01]
|
|
- gtk+ 2.8.17
|
|
2. Mandriva Linux
|
|
- 2007 [2006/10/03]
|
|
- gtk+ 2.10.3
|
|
- 2006 [2005/10/06]
|
|
- gtk+ 2.8.3
|
|
3. Suse
|
|
- 10.2 [2006/12/07]
|
|
- gtk+ 2.10.6
|
|
- 10.1 [2006/05/11]
|
|
- gtk+ 2.8.10
|
|
4. Fedora Core
|
|
- FC6 [2006/10/24]
|
|
- gtk+ 2.10.4
|
|
- FC5 [2006/03/20]
|
|
- gtk+ 2.8.15
|
|
5. Debian GNU/Linux
|
|
- unstable
|
|
- gtk+ 2.8.20
|
|
- testing
|
|
- gtk+ 2.8.20
|
|
- sarge [2005/06/06]
|
|
- gtk+ 2.6.4
|
|
|
|
Status, 2005-11-06
|
|
------------------
|
|
The major distributions, as defined by http://distrowatch.com/dwres.php?resource=major, are:
|
|
|
|
- Ubuntu - http://www.ubuntu.com/
|
|
- 5.10 = 2005-10-13 - http://www.ubuntu.com/newsitems/release510
|
|
[from the {main,multiverse,universe}/binary-i386/Packages.gz files at
|
|
http://archive.ubuntu.com/ubuntu/dists/breezy/]
|
|
- aqbanking: libaqbanking0c2-1.5.99+1.6.0beta-1ubuntu1
|
|
- libcairo-1.0.2-0ubuntu1
|
|
- gconf2-2.12.0-0ubuntu1
|
|
- glib2-2.8.3-0ubuntu1
|
|
- gtk+2-2.8.6-0ubuntu2
|
|
- guile-1.6.7-1ubuntu3
|
|
- g-wrap-1.9.6-2ubuntu2
|
|
- libart2-2.3.17-1
|
|
- libgnomeprint2.2-2.12.1-0ubuntu1
|
|
- libgnomeui2-2.12.0-0ubuntu1
|
|
- libgsf1-1.12.3-3ubuntu3
|
|
- libofx2-0.8.0-3ubuntu8
|
|
- libxml2-2.6.21-0ubuntu1
|
|
- pango-1.10.1-0ubuntu1
|
|
- *5.04 = 2005-04-08 - http://www.ubuntu.com/504Released
|
|
[from the {main,multiverse,universe}/binary-i386/Packages.gz files at
|
|
http://archive.ubuntu.com/ubuntu/dists/hoary/]
|
|
- aqbanking ??
|
|
- cairo 0.3.0-1
|
|
- gconf-2 gconf2_2.10.0-0ubuntu1_i386.deb
|
|
- glib-2 libglib2.0-0_2.6.3-1_i386.deb
|
|
- gtk+-2 libgtk2.0-0_2.6.4-0ubuntu3_i386.deb
|
|
- guile guile-1.6-libs_1.6.7-1ubuntu1_i386.deb
|
|
- gwrap
|
|
- gwrapguile-1.3.4
|
|
- g-wrap-1.9.6
|
|
- libart-2 libart-2.0-2_2.3.17-1_i386.deb
|
|
- libgnomeprint-2.2 libgnomeprint2.2-0_2.10.3-0ubuntu1_i386.deb
|
|
- libgnomeui-2 libgnomeui-0_2.10.0-0ubuntu1_i386.deb
|
|
- libgsf-1 libgsf-1_1.11.1-1ubuntu1_i386.deb
|
|
- libofx: none
|
|
- libxml-2 libxml2_2.6.17-0ubuntu1_i386.deb
|
|
- pango libpango1.0-0_1.8.1-0ubuntu2
|
|
- Mandriva
|
|
- 2007.0 = 2007-01-03
|
|
[from ftp://ftp.proxad.net/pub/Distributions_Linux/MandrivaLinux/official/2007.0/i586/media/main/]
|
|
- aqbanking-2.2.1
|
|
- libcairo2-1.2.4
|
|
- gconf-2.14.0
|
|
- glib-2.12.3
|
|
- gtk+-2.10.3
|
|
- guile-1.6.8
|
|
- g-wrap-1.9.6
|
|
- libart-2.3.17
|
|
- libgnomeprint-2.2-2.12.1
|
|
- libgnomeui-2.16.0
|
|
- libgsf-1.14.1
|
|
- libofx-0.8.0
|
|
- libxml-2.6.26
|
|
- pango-1.14.3
|
|
Note: -devel packages for the libraries above must also be installed.
|
|
- 2006 = 2005-10-06
|
|
[from ftp://ftp.rutgers.edu/pub/Mandrakelinux/devel/2006.0/i586/media/main/]
|
|
- aqbanking-1.2.0
|
|
- libcairo2-1.0.0
|
|
- gconf-2.10.1
|
|
- glib-2.8.1
|
|
- gtk+-2.8.3
|
|
- guile-1.6.7
|
|
- g-wrap-1.3.4
|
|
- libart-2.3.17
|
|
- libgnomeprint-2.2-2.10.3
|
|
- libgnomeui-2.10.2
|
|
- libgsf-1.12.2
|
|
- libofx-0.7.0
|
|
- libxml-2.6.21
|
|
- pango-1.10.0
|
|
- *2005 = 2005-04-14
|
|
[from ftp://ftp.rutgers.edu/pub/Mandrakelinux/devel/2005/i586/media/main/]
|
|
- aqbanking-1.0.7
|
|
- libcairo-0.3.0
|
|
- gconf-2.8.1
|
|
- glib-2.6.3
|
|
- gtk+-2.6.4
|
|
- guile-1.6.7
|
|
- g-wrap-1.3.4
|
|
- libart-2.3.17
|
|
- libgnomeprint-2.2-2.8.2
|
|
- libgnomeui-2.8.2
|
|
- libgsf-1.11.1
|
|
- libofx-0.7.0
|
|
- libxml-2.6.17
|
|
- pango-1.8.1
|
|
- SUSE / opensuse
|
|
- 10.2 = 2006-12-07
|
|
- aqbanking-2.2.3
|
|
- cairo-1.2.4
|
|
- gconf2-2.14.0
|
|
- glib2-2.12.4
|
|
- goffice-0.2.1
|
|
- gtk2-2.10.6
|
|
- guile-1.8.1
|
|
- g-wrap: not included
|
|
- libart_lgpl-2.3.17
|
|
- libgnomeprint-2.12.1
|
|
- libgnomeui-2.16.1
|
|
- libgsf-1.14.2
|
|
- libofx-0.8.2
|
|
- libxml2-2.6.26
|
|
- pango-1.14.5
|
|
- swig-1.3.29
|
|
- 10.1 = 2006-05-11
|
|
- aqbanking-1.2.0 (but package is broken; needs to be replaced by >=1.3.0)
|
|
- cairo-1.0.2
|
|
- gconf2-2.12.1
|
|
- glib2-2.8.5
|
|
- goffice-0.1.2
|
|
- gtk2-2.8.10
|
|
- guile-1.6.7
|
|
- g-wrap: not included
|
|
- libart_lgpl-2.3.17
|
|
- libgnomeprint-2.12.1
|
|
- libgnomeui-2.12.0
|
|
- libgsf-1.13.99
|
|
- libofx-0.8.0
|
|
- libxml2-2.6.23
|
|
- pango-1.10.2
|
|
- swig-1.3.27
|
|
- 10.0 = 2005-10-06
|
|
- aqbanking: not included; binary aqbanking-1.6.0 available at ftp://ftp.gwdg.de/linux/misc/suser-crauch/10.0/
|
|
- cairo-1.0.0
|
|
- gconf2-2.12.0
|
|
- glib2-2.8.1
|
|
- gtk2-2.8.3
|
|
- guile-1.6.7
|
|
- g-wrap: not included
|
|
- libart_lgpl-2.3.17
|
|
- libgnomeprint-2.12.0
|
|
- libgnomeui-2.12.0
|
|
- libgsf-1.12.1
|
|
- libofx-0.7.0
|
|
- libxml2-2.6.20
|
|
- pango-1.10.0
|
|
- swig-1.3.24
|
|
- *9.3 = 2005-04-15
|
|
- aqbanking: not included, but binary aqbanking-1.6.0 provided by upstream
|
|
- cairo-0.3.0
|
|
- gconf2-2.10.0
|
|
- glib2-2.6.3
|
|
- gtk2-2.6.4
|
|
- guile-1.6.7
|
|
- gwrap: not included
|
|
- libart_lgpl-2.3.17
|
|
- libgnomeprint-2.10.1
|
|
- libgnomeui-2.10.0
|
|
- libgsf-1.11.1
|
|
- libofx-0.7.0
|
|
- libxml2-2.6.17
|
|
- pango-1.8.1
|
|
- swig-1.3.21
|
|
- Fedora Core
|
|
- *FC4 = 2005-06-13
|
|
- aqbanking-1.0.4beta
|
|
- cairo: not included
|
|
- g-wrap-1.3.4
|
|
- gconf2-2.10.0
|
|
- glib2-2.6.6
|
|
- gtk2-2.6.10
|
|
- guile-1.6.7
|
|
- libart_lgpl-2.3.17
|
|
- libgnomeprint22-2.10.3
|
|
- libgnomeui-2.10.0
|
|
- libgsf-1.11.1
|
|
- libofx-0.7.0
|
|
- libxml2-2.6.20
|
|
- pango-1.8.1
|
|
- FC3 = 2004-11-08
|
|
- aqbanking: not included
|
|
- cairo: not included
|
|
- g-wrap-1.3.4
|
|
- gconf2-2.8.1
|
|
- glib2-2.4.8
|
|
- gtk2-2.4.14
|
|
- guile-1.6.4
|
|
- libart_lgpl-2.3.16
|
|
- libgnomeprint22-2.8.0
|
|
- libgnomeui-2.8.0
|
|
- libgsf-1.10.1
|
|
- libofx-0.7.0
|
|
- libxml2-2.6.16
|
|
- pango-1.6.0
|
|
- Debian GNU/Linux
|
|
- 4.x unstable
|
|
(already includes goffice and will include libqof1)
|
|
- aqbanking-1.5.99
|
|
- cairo-1.0.0
|
|
- gconf2-2.10.1
|
|
- glib2-2.8.3
|
|
- gtk2-2.6.10
|
|
- guile-1.6.7
|
|
- libart2-2.3.17
|
|
- libgnomeprint2.2-2.10.3
|
|
- libgnomeui2-2.10.1
|
|
- libgsf1-1.12.3
|
|
- libofx-0.8.0
|
|
- libxml2-2.6.22
|
|
- pango-1.8.2
|
|
- gwrapguile-1.3.4
|
|
- g-wrap-1.9.6
|
|
- *3.1 sarge = 2005-06-06
|
|
- aqbanking: no
|
|
- cairo: no
|
|
- gconf2-2.8.1
|
|
- glib2-2.6.4
|
|
- gtk2-2.6.4
|
|
- guile-1.6.7
|
|
- libart2-2.3.17
|
|
- libgnomeprint2.2-2.8.2
|
|
- libgnomeui2-2.8.1
|
|
- libgsf1-1.11.1
|
|
- libofx-0.7.0
|
|
- libxml2-2.6.16
|
|
- pango-1.8.1
|
|
- gwrapguile-1.3.4
|
|
- g-wrap-1.9.5
|
|
- Knoppix
|
|
- 4.0.2 = 2005-09-24
|
|
- *3.9 = 2005-06-01
|
|
- 3.8.2 = 2005-05-12
|
|
- MEPIS
|
|
- *3.3.1 = 2005-05-12
|
|
- Gentoo
|
|
- 2005.1 = 2005-08-08
|
|
[from http://distro.ibiblio.org/pub/linux/distributions/gentoo/releases/snapshots/2005.1/portage-20050709.tar.bz2]
|
|
- aqbanking-1.0.8
|
|
- cairo-0.4.0
|
|
- g-wrap-1.3.4
|
|
- gconf-2.10.0
|
|
- glib-2.6.5
|
|
- gtk+-2.6.8
|
|
- guile-1.6.7
|
|
- libart_lgpl-2.3.17
|
|
- libgnomeprint-2.10.3
|
|
- libgnomeui-2.10.0
|
|
- libgsf-1.12.1
|
|
- libofx-0.7.0
|
|
- libxml2-2.6.19
|
|
- pango-1.8.1-r1
|
|
- 2005.0 = 2005-03-28
|
|
[from http://gentoo.osuosl.org/releases/x86/2005.0/packagecd/CONTENTS
|
|
and http://gentoo.osuosl.org/releases/snapshots/2005.0/portage-20050303.tar.bz2]
|
|
- aqbanking-1.0.4_beta, -0.9.9
|
|
- cairo-0.3.0-r1
|
|
- g-wrap-1.3.4-r1
|
|
- gconf-2.8.1-r1
|
|
- glib-2.6.2
|
|
- guile-1.6.7
|
|
- libart_gpl-2.3.16
|
|
- libgnomeprint-2.8.1
|
|
- libgnomeui-2.8.1-r1
|
|
- libgsf-1.10.0
|
|
- libxml2-2.6.16
|
|
- pango-1.8.0
|
|
- Slackware
|
|
[Need to check for gnome packages at...
|
|
- http://dropline-gnome.sourceforge.net/
|
|
- http://gsb.freerock.org/
|
|
- http://www.gware.org/]
|
|
- 10.2 = 2005-09-14
|
|
[from http://slackware.it/en/pb/]
|
|
- aqbanking: no
|
|
- cairo: no
|
|
- gconf2: no
|
|
- glib2-2.6.6
|
|
- gtk+2-2.6.10
|
|
- guile-1.6.7
|
|
- gwrap: no
|
|
- libart2-2.3.17
|
|
- libgnomeprint2.2: no
|
|
- libgnomeui2: no
|
|
- libgsf1-1.12.1
|
|
- libofx: no
|
|
- libxml2-2.6.22
|
|
- pango-1.8.2
|
|
- *10.1 = 2005-02-07
|
|
[from http://slackware.it/en/pb/]
|
|
- aqbanking: no
|
|
- cairo: no
|
|
- gconf2-2.6.2
|
|
- glib2-2.6.4
|
|
- gtk+2-2.6.7
|
|
- guile-1.6.5
|
|
- gwrap: no
|
|
- libart2-2.3.16
|
|
- libgnomeprint2.2-2.6.1
|
|
- libgnomeui2-2.6.1
|
|
- libgsf1-1.9.1
|
|
- libofx: no
|
|
- libxml2-2.6.16
|
|
- pango-1.8.1
|
|
- Xandros Desktop
|
|
- *3.0 = 2004-12
|
|
- 2.5 = 2004-07
|
|
- ftp://ftp2.xandros.com/src/dists/
|
|
- FreeBSD
|
|
- *5.4 = 2005-05-09 - http://www.freebsd.org/releases/5.4R/announce.html
|
|
[from ftp://ftp.freebsd.org/pub/FreeBSD/releases/i386/5.4-RELEASE/packages/INDEX]
|
|
- aqbanking: not included
|
|
- cairo-0.4.0
|
|
- gconf2-2.10.0
|
|
- glib-2.6.3_1
|
|
- gtk-2.6.4_1
|
|
- guile-1.6.5
|
|
- g-wrap-1.3.4_6
|
|
- libart_lgpl2-2.3.17
|
|
- libgnomeprint-2.10.1
|
|
- libgnomeui-2.10.0_1
|
|
- libgsf-1.11.1
|
|
- libofx-0.7.0
|
|
- libxml2-2.6.18
|
|
- pango-1.8.1
|
|
- 4.11 = 2005-01-25 - http://www.freebsd.org/releases/4.11R/announce.html
|
|
- Fink/OSX
|
|
- ??
|
|
- RHEL
|
|
- *RHEL 4 = 2005-02-15
|
|
[from http://ftp.redhat.com/pub/redhat/linux/enterprise/4/en/]
|
|
- aqbanking: not included
|
|
- cairo: not included
|
|
- gconf2-2.8.1
|
|
- glib2-2.4.7
|
|
- gtk2-2.4.13
|
|
- guile-1.6.4
|
|
- gwrap: not included
|
|
- libart_lgpl-2.3.16
|
|
- libgnomeprint22-2.8.0
|
|
- libgnomeui-2.8.0
|
|
- libgsf-1.10.1
|
|
- libofx: not included
|
|
- libxml2-2.6.16
|
|
- pango-1.6.0
|
|
- RHEL 3 = 2003-10-22
|
|
- aqbanking: not included
|
|
- cairo: not included
|
|
- gconf2-2.2.1
|
|
- glib2-2.2.3
|
|
- gtk2-2.2.4
|
|
- guile-1.6.4
|
|
- g-wrap: not included
|
|
- libart_lgpl-2.3.11
|
|
- libgnomeprint22-2.2.1.3
|
|
- libgnomeui-2.2.1
|
|
- libgsf-1.6.0
|
|
- libofx: not included
|
|
- libxml2-2.5.10
|
|
- pango-1.2.5
|
|
- CentOS
|
|
[from http://vault.centos.org/]
|
|
- 4.2 = 2005-10-12
|
|
- aqbanking: no
|
|
- cairo: no
|
|
- gconf2-2.8.1
|
|
- glib2-2.4.7
|
|
- gtk2-2.4.13
|
|
- guile-1.6.4
|
|
- gwrap: no
|
|
- libart2-2.3.16
|
|
- libgnomeprint2.2-2.8.0
|
|
- libgnomeui2-2.8.0
|
|
- libgsf1-1.10.1
|
|
- libofx: no
|
|
- libxml2-2.6.16
|
|
- pango-1.6.0
|
|
- *4.1 = 2005-06-12
|
|
- aqbanking: no
|
|
- cairo: no
|
|
- gconf2-2.8.1
|
|
- glib2-2.4.7
|
|
- gtk2-2.4.13
|
|
- guile-1.6.4
|
|
- gwrap: no
|
|
- libart2-2.3.16
|
|
- libgnomeprint2.2-2.8.0
|
|
- libgnomeui2-2.8.0
|
|
- libgsf1-1.10.1
|
|
- libofx: no
|
|
- libxml2-2.6.16
|
|
- pango-1.6.0
|