Test page for GNU packages' build systems

 [GNU Source Installer logo]


Table of Contents

Introduction

This page is intended for GNU maintainers.

I needed to test my sourceinstall tool with a lot of packages to help it become more stable, by identifying and fixing any bugs encountered.

Incidentally, by testing most GNU packages, I have produced information about those packages' build systems that could be of some use for all GNU maintainers.

It is my hope that with time, most GNU packages will make good use of the autotools, for the benefit of users and packagers alike, and giving a whole gnu sense of cohesion. I am offering help in that sense (see Feedback section below).

The test

The build systems of GNU packages will be tested, and the results will be displayed in the following table.

Currently, most packages on ftp.gnu.org, alpha.gnu.org, and referenced by the free software directory have been tested (but not all). I could have missed some, and some have been left out knowingly (see more about this below).

The testing system is a GNU/Linux (kernel 2.6.14), gcc-3.3.4, ld 2.15.92.0.2, aclocal and automake 1.9.4, autoconf 2.59, make 3.80. Note that every time there's a 'compile-time error' note, it only means that on my system I got a compile-time error. It could work for someone else with a different setup. Note also that sometimes I give hints about possible fixes. KIM that I did not have much time to dedicate to each package so take my suggestions and notes about the package with care.

In the following table, "sourceinstall support" indicates how well sourceinstall works on the testing system with that GNU package:

The "configure script" column indicates if a suitable configure script is found in the package (some bootstrap scripts are also ok, as soon as they generate a configure script).

The "Makefile" column indicates if a suitable Makefile is present (or generated by configure). Some Makefile alternative names (GNUmakefile, makefile, some others) are also considered.

The "DESTDIR support" column indicates how well the DESTDIR variable is supported in the Makefile, if at all.

This variable is cited in the GNU Coding Standards as optional, and automake automatically generates support for it. However, when using installation hooks (or when not using automake at all), DESTDIR should be considered explicitly.

http://www.gnu.org/software/automake/manual/html_node/Install.html#Install

The old name for DESTDIR, mostly found in old packages, is INSTALL_ROOT, which is also fully supported by sourceinstall.

Supporting DESTDIR makes it possible to make staged installations, vital for some functionality of sourceinstall, and generally useful for packagers. If sourceinstall does not find either DESTDIR or INSTALL_ROOT, it reverts to using prefix redirection.

Package namesourceinstall supportconfigure scriptMakefileDESTDIR supportNotes
3DLDF-1.1.5.1OkOkOkOk
CSSC-1.0.1OkOkOkOk
GNUnet-0.7.0bOkOkOkOk
Ggradebook-0.91OkOkOkOk
R-2.3.1OkOkOkNomaintainment has been contacted about DESTDIR, but it is not supported yet.
TeXmacs-1.0.6OkOkOkOk
XaoS-3.2.1OkOkOkOk
Xnee-2.05OkOkOkOk
a2ps-4.13OkOkOkOk
acct-6.3.2OkOkOkNothe coming 6.4 version of acct has been updated with recent versions of the autotools, which support DESTDIR.
acm-5.0NoBrokenOkNoThis package ignored --prefix option in configure, and always installs to /usr/local. Broken permissions in the package. Maintainer has been sent a fix, but did not answer yet.
adns-1.3OkOkOkNomaintainer has been contacted, but does not appear to be interested in having DESTDIR support.
alive-1.4.0OkOkOkOk
anubis-4.0OkOkOkOk
archimedes-0.0.4OkOkOkOk
aspell-0.60.4OkOkOkOk
atk-1.9.0OkOkOkOk
auctex-11.83OkOkOkOk
autoconf-2.60OkOkOkOk
autogen-5.8.3OkOkOkOk
automake-1.9OkOkOkOk
avl-2.0.2a----This package is not meant for installation.
barcode-0.98OkOkOkNomaintainer has been offered a fix to add DESTDIR support, which should be available in the next release.
bash-3.1OkOkOkOk
bayonne2-1.1.6OkOkOkOk
bc-1.06OkOkOkOk
binutils-2.16.1OkOkOkOk
bison-2.3OkOkOkOk
bool-0.2.1OkOkOkOk
calc-2.11.11NoNoOkNoThe provided Makefile must be hand edited. The maintainer has been contacted, and said he will be available to discuss the matter end of April. Must ping.
ccaudio2-0.9.0OkOkOkOk
ccrtp-1.3.6OkOkOkOk
ccscript3-1.0.2OkOkOkOk
cfengine-2.0.6OkOkOkOk
cflow-1.0OkOkOkOk
cgicc-3.2.3OkOkOkOk
cim-3.30OkOkOkOk
classpath-0.18OkOkOkOklater versions (0.19,0.20,0.90) not tested because they require gcc >= 4.0
clisp-2.39NoBrokenNoOkunfortunately clisp build system is based on makemake. Configure script returns a non-zero return value on success for some reason. Also, additional user commands are necessary for the build to succeed. These could be automated, and the flags moved to configure options. Maintainers have been contacted, but work to improve the situation is stale. No time to work on a patch myself.
clx-5.02NoNoNoNoFile renaming and hand compilation are necessary to install this software. This ancient project is probably dead beef.
combine-0.3.4OkOkOkOk
commoncpp2-1.3.22OkOkOkOk
cons-2.2.0NoNoNoNoThis [is | has] an alternative build system, totally incompatible.
coreutils-5.97OkOkOkOk
cpio-2.6OkOkOkOk
dap-3.6OkOkOkOk
ddd-3.3.9OkOkOkOk
ddrescue-1.2OkOkOkOk
dejagnu-1.4.4OkOkOkOk
denemo-0.7.4OkOkOkOk
dgs-0.5.9.1NoOkOkOkmultiple compile-time errors:zdevcal.c:52: storage size of `ltime' isn't known, zdevcal.c:54: dereferencing pointer to incomplete type, zdevcal.c:54: initializer element is not constant.
dia-0.94OkOkOkOk
diction-1.02OkOkOkNothe diction-1.10rc1 test release already contains working support for DESTDIR.
diffutils-2.8.1OkOkOkOk
dominion-2.8.2OkOkOkOk
drgeo-1.1.0OkOkOkOk
ecc-0.2.2NoOkBrokenNoThe build requires a particular objective C compiler that is hard-wired in the custom Makefile.in. Hand editing the file to replace objc (apple's?) with gcc does not work.
ed-0.2OkOkOkNoa patch for DESTDIR has been already sent to the maintainer, and will appear in the next release.
emacs-21.4OkOkBrokenNo'uninstall' rule contains a serious bug that can remove info files unrelated to emacs. Never use make uninstall. A fix for this bug and another patch to add DESTDIR support have already been sent to emacs developers, and will appear in the next version.
enscript-1.6.1OkOkOkOk
eprints-2.3.13.1NoOkNoNoCustom build system, that requires running a perl script after configuration. However, the maintainer confirmed that the package is going to contain a GNU policies-based wrapping around the build system in the next release.
fhp-0.2.0-RC1OkOkOkOk
findutils-4.2.27OkOkOkOk
finger-1.37NoOkOk-compile-time errors. Could not contact maintainer.
flex-2.5.31OkOkOkOk
fontutils-0.7NoOkOk-compile-time errors. Package still contains some relevant programs, but it is mostly unmaintained. A fix does not appear near.
freedink-0.1.7OkOkOkOk
freeipmi-0.1.3OkOkOkOkhowever, the --prefix is not honored for the /var/* stuff, forcing installation of those files in a fixed system location. This makes user-mode installation not possible.
fribidi-0.10.7OkOkOkOk
gama-1.9.01cOkOkOkOk
gawk-3.1.5OkOkOkOk
gcal-3.01OkOkOkNoDESTDIR support is already in the coming gcal-4.00 version.
gcc-4.1.0OkOkOkOkversions 4.0.x do not work with sourceinstall since they require builddir != srcdir, which is hard to detect in a general way, or enforce in all packages. All other versions are ok.
gcl-2.6.7OkBrokenBrokenOkthe build system does not honour prefix correctly, resulting in impossible user-mode installation, and reduced installation destination choice for the user.
gdb-6.4OkOkOkOk
gdbm-1.8.3OkOkOkOkuses old INSTALL_ROOT which is supported. The installation rule contains however a chown to bin:bin, and this requires privileges, making user-mode installation not possible.
gengetopt-2.16OkOkOkOk
gerwin-0.6NoNoNoNono build system is provided. The package is assumed to be extracted on target, and contains the runnable tcl/wish scripts. Maintainer has not been contacted yet.
gettext-0.14.5OkOkOkOk
gforth-0.6.2OkOkOkNoDESTDIR support is provided in the latest development code. Will be available in the next release.
gift-0.1.15bOkOkOkOk
gimp-2.2.7OkOkOkOk
git-4.3.20NoOkOkBrokenDESTDIR support is present, but broken, because it is not considered in the installation hooks. This actually breaks the build, when trying to symlink a non existant file. Maintainment says that latest development code already contains a fix for this.
glib-2.6.6OkOkOkOk
glibc-2.3.6NoOkOkNoglibc requires builddir != srcdir, which is hard to detect in a general way, or enforce in all packages.
global-4.8.7OkOkOkOk
glpk-4.10OkOkOkOk
gmp-4.1.4OkOkOkOk
gnash-0.7.1OkOkOkOk
gnats-4.1.0OkOkOkOk
gnubg-0.14.3OkOkOkOkI had to manually add -liconv to the LDFLAGS to get a clean compile. Otherwise, I would get undefined symbols during build. Could not reach maintainment.
gnubiff-2.2.1NoOkOkOkgnubiff configuration does not find installed fam.h. However, it is mainly a problem of gamin (get latest development code from gamin to make it work).
gnucap-2006-07-08OkOkOkOkmaintainment should be contacted again to ask to move releases to ftp.gnu.org or at least make releases more easy to find.
gnuchess-5.0.7OkOkOkOk
gnuedma-beta-0.15.7-7OkOkOkOk
gnugo-3.6OkOkOkOk
gnump3d-2.9.8NoNoOkNothe build system is custom, paths and other information are fixed, and must be edited by hand in the Makefile prior to installation. However, the maintainer is working on some improvements that could lead to a GNU build system in the future.
gnunet-gtk-0.7.0aOkOkOkOkfor some reason, had to disable gtk test during configuration to get it working.
gnupg-1.4.4OkOkOkOk
gnupod-0.99PartialOkOkOkPackage does not allow user-mode installation.
gnurobots-1.0DNoBrokenbrokenNoPackage ignores --prefix and has no install rule. Maintainment could not be reached.
gnushogi-1.3OkOkOkNoCould not contact maintainer about DESTDIR support.
gnutls-1.2.10OkOkOkOk
goose-0.0.11NoOkOk-compile-time errors. Maintainers and developers seem unreachable.
gperf-3.0.2OkOkOkOk
gphoto2-2.1.6OkOkOkOk
gprolog-1.2.16NoBrokenBrokenNogprolog does not honor --prefix, and always install in an arbitrary location. This is a show stopper for sourceinstall. Maintainment could not be contacted because of GNU mailing list problems. More tries should be scheduled.
greg-1.4NoOkOkNocould not build ('/usr/bin/texi2dvi: texinfo.tex appears to be broken, quitting.')
grep-2.5.1aOkOkOkOk
gretl-1.5.0NoOkOkOkcompile-time errors - must contact maintainment/developers.
groff-1.19.2PartialOkOkNoa fix for DESTDIR has been sent to the project, and is already included in current CVS. User mode installation is not possible, since the installation phase wants to create the fixed path /usr/X11/lib/X11/app-defaults/GXditview .
grub-0.97OkOkOkOkcould not build newer alpha version (1.92), because my existing shared library installation of lzo-2.02 was not recognized by the configure script.
gsasl-0.2.11OkOkOkOk
gsl-1.8OkOkOkOk
gss-0.0.9OkOkOkOk
gtick-0.3.7OkOkOkOk
gtk+-2.6.9OkOkOkOk
gtkeditor-0.1.8NoBrokenOkOkconfigure fails complaining for missing install-sh or install.sh in the distributed tarball. Could not contact maintainment yet.
gtkeyboard-1.1.7NoOkOk-compile-time errors
gts-0.7.4OkOkOkOk
gtypist-2.7OkOkOkOk
guile-1.8.0OkOkOkOk
gurgle-1.53NoOkOkOkcompile-time errors:the program uses the old varargs.h, which is no longer supported by gcc. Many tries to contact the maintainers failed.
gv-3.6.1OkOkOkOk
gvpe-2.0OkOkOkOkwarning: configure option --disable-nls is broken and results in compile-time errors.
gzip-1.3.5OkOkOkOknote: alpha version. Older stable versions do not support DESTDIR.
hello-2.1.1OkOkOkOk
help2man-1.36.3OkOkOkOk
hp2xx-3.4.4NoNoNoNothe installation procedure requires moving files around, file renaming, hand-editing of files. Failed to contact maintainer.
httptunnel-3.3OkOkOkOk
hyperbole-4.01NoNoOkNothe issues in the build system are being addressed by the maintainer, however it might require some time to see a fix for the encountered problems.
idutils-4.1OkOkOkOk
indent-2.2.9OkOkOkOk
inetutils-1.4.2OkOkOkOk
intlfonts-1.2.1NoBrokenBrokenNoMany problems in the build system (prefix not recognized, installation, ...). Waiting for an answer from the maintainer.
jwhois-3.2.3OkOkOkOk
less-394OkOkOkNoa DESTDIR support patch has been handed to the less maintainer, and is going to appear in the next release.
libcdio-0.76OkOkOkOk
libextractor-0.5.9OkOkOkOkwarning: configure option --disable-nls is broken and results in compile-time errors.
libgcryptOkOkOkOk
libgphoto2-2.1.6OkOkOkOk
libgsasl-0.2.9OkOkOkOk
libiconv-1.10OkOkOkOk
libidn-0.6.1OkOkOkOk
libmatheval-1.1.2OkOkOkOk
libobjects-0.1.19NoOkOk-compile-time errors. Should contact the project about this.
libopts-27.1OkOkOkOk
libosip2-2.2.2OkOkOkOk
libpolyxmass-0.9.0OkOkOkOk
libsigsegv-2.2OkOkOkOk
libsrcinst-2.0-rc2OkOkOkOk
libtool-1.5.22OkOkOkOk
libxmi-1.2OkOkOkOk
lightning-1.2OkOkOkOk
m4-1.4.4OkOkOkOk
macchanger-1.5.0OkOkOkOk
mailman-2.1.8OkOkOkOk
mailutils-0.6OkOkOkOk
make-3.81OkOkOkOk
marst-2.4OkOkOkOk
mc-4.5.55OkOkOkOk
mcron-1.0.3OkOkOkOk
mdk-1.2.1OkOkOkOk
metahtml-5.091NoOkOk-compile-time errors; note that newer versions (6.x) are not available as source code. http://www.metahtml.org/download . Maintainer could not be reached.
moe-0.7OkOkOkOk
motti-2.5.0.4PartialOkOkOkuser-mode installation fails, since it wants to unconditionally write /usr/X11R6/lib/X11/app-defaults/Motti
mtools-3.9.10OkOkOkNothe mtools maintainer provided a patch for DESTDIR that will be included in the next version.
nano-1.2.3OkOkOkOk
ncurses-5.5OkOkOkOk
ocrad-0.15OkOkOkOk
octal-0.0.95NoNoBrokenNothis alpha package has a Makefile, but with no install target. Repeated attempts at contacting the author/maintainer failed.
octave-2.1.73OkOkOkOkA note on ftp.gnu.org explaining where to find latest releases would help.
oleo-1.99.16NoOkOk-compile-time errors. Attempts at contacting the project failed, but more tries are scheduled.
pango-1.8.2OkOkOkOk
parted-1.7.1OkOkOkOk
patch-2.5.4OkOkOkNoproject is undergoing management changes. DESTDIR support could be added.
plotutils-2.4.1OkOkOkOk
pspp-0.4.0OkOkOkOk
pth-2.0.6OkOkOkOk
pycdio-0.10OkOkOkOk
queue-1.30.1NoOkOk-build fails because of missing file in the tarball(depcomp). Development of 1.30.x has stopped, while the CVS code has seen some activity.
radius-1.3OkOkOkOk
rcs-5.7OkOkOkNomissing DESTDIR support. Not contacted yet.
readline-5.1OkOkOkOk
recode-3.6OkOkOkOk
rottlog-0.70beta3PartialBrokenBroken-build system ignores --prefix. Tried to contact maintainment using many different adresses, but got no response.
sather-1.2.2NoNoBrokenNoMakefile does not support common base targets and needs hand editing. Previous attempts to contact developers failed due to GNU mailing lists problems. Should contact project soon.
sauce-0.8.1NoNoOkNosauce provides a Makefile with lots of hard-coded information, which must be hand-edited to get a clean build. Maintainer has been reached about the GNU adns project (see above), and his policy for this project is probably the same.
scheme-7.7.1 (mit-scheme)NoOkOk-compile-time errors. No response from the development mailing list. Should dig more possible addresses.
screen-4.0.2OkOkOkOk
sed-4.1.4OkOkOkOk
serveez-0.1.5OkOkOkOk
sharutils-4.6.3OkOkOkOk
shishi-0.0.24OkOkOkOk
shtool-2.0.3OkOkOkOk
smalltalk-2.2OkOkOkOk
solfege-3.0.6OkOkOkOkpkg-config version requirement (>= 0.17) in configure.ac could be relaxed (got a clean build with 0.15)
songanizer-0.8NoNoNoNodoes not provide a build system. However, some movement towards a gnu-compliant build system can be seen in CVS.
source-highlight-2.3OkOkOkOkmissing check for exuberant ctags. Breaks the build on a system with emacs ctags. Problem has been reported to the author/maintainer.
sourceinstall-2.0-rc2OkOkOkOk
sourceinstall-gtk-2.0-rc2OkOkOkOk
speex-1.0.5OkOkOkOk
stow-1.3.3OkOkOkOk
swbis-0.483OkOkOkNoa patch with DESTDIR support has been handed to the project, and should appear in the next release.
talkfilters-2.3.4OkOkOkOk
tar-1.15.1OkOkOkOk
termcap-1.3.1OkOkOkNocould not contact maintainer yet about DESTDIR.
texinfo-4.8OkOkOkOk
thales-1.0NoBrokenOkOkthe configure script waits for standard input to get some of the parameters configured. Fix:replace with configure options. Project is undergoing maintainer change.
tmw-0.0.18.1 (the mana world)OkOkOkOk
tramp-2.0.53OkOkOkOkCurrent maintainer has recently completed changes to include DESTDIR support. Thanks!
trueprint-5.3OkOkOkOk
units-1.85aOkOkOkOk
unrtf_0.19.9NoNoOkBrokena complete new build system has been handed to the project. It will be included in the next release.
userv-1.0.3NoOkBrokenNoThe installation procedure does not ensure that the destination directories exist (mkinstalldir, mkdir -p, ...). Could not contact maintainment.
uucp-1.07OkOkOkOk
vcdimager-0.7.23OkOkOkOk
webpublish-0.1.1OkOkOkOk
wget-1.10.2OkOkOkOk
which-2.16OkOkOkOk
xboard-4.2.7OkOkOkNomails to the project about DESTDIR have been lost due to GNU mailing lists issues. Will need to try again.
xhippo-3.3OkOkOkOk
xlogmaster-1.6.1OkOkOkOk
xmorph_20060107OkOkOkOk
zebra-0.94OkOkOkOk

Provide feedback

If your GNU package is not listed yet, it may be because I skipped it by mistake, or because it's not refereced by the free software directory and not on gnu.org servers, or because it requires some huge library dependencies I could not easily build on my system (most notably I do not have gnome, or any other desktop, also I have no Sun Java (only the GNU replacement), and no C++ Boost library) All software which forms the GNOME environment will be tested with sourceinstall in a later date. If your package requires one of these, and want to help me a bit, please report about its build system state yourself.

If you'd like to have some help fixing, changing, or upgrading your build system of your package, please contact me, and I will try to help at my best as soon as I can.

Contact me at <claudio@gnu.org>, or if your feedback is about the Source Installer itself, write to the public mailing list instead: <bug-sourceinstall@gnu.org> .