This page lists details about build failures that affect several pages (and the "good" way to solve them).

2007-08-28 Packages failing because of missing camlp4o

Quite some packages fail because camlp4 has been moved from ocaml-nox's Build-Depends to Recommends. The Ocaml team has tightened their Build-Depends and wants the Packages B-D on caml4p directly:

09:35 <abi> as of the recent rebuild sid/x86 about ~10 packages FTBFS because of missing camlp4o, do the packages have to Build-Depend on camlp4 or would it make more sense to move it from the Recommends to Depends in ocaml-nox

09:35 <abi> i just wonder if i should file the bug for the packages or ocaml-nox

09:36 <smimou> well I think that we should tighten our build-deps instead

09:37 <smimou> we have already started doing this

09:37 <abi> ok, so im going to file the bugs against the packages rather than ocaml-nox?

09:37 <smimou> yes, please

09:38 <smimou> camlp4 is quite a big package so I'd rather avoid ocaml depending on it

2007-09-12 Packages failing due to undetected libdb

Please block those FTBFSes with the appropriate libdb bug. -- CyrilBrulebois

2007-09-14 Packages failing to build with ecj-gcj due to missing java.lang.object

Somewhere between 3.3.0+0728-1 and 3.3.0+0728-4 "ecj" dropped its dependency on gij which was used to build it. Packages should build fine with 3.3.0+0728-5 upwards. -- KapilHariParanjape

2007-09-17 Packages failing to build cause of "called object 'major' is not a function"

nfs-utils fixed it this way (#442122, from 09-define-major-minor.patch):

#ifndef major
# define major(dev) gnu_dev_major (dev)
#endif
#ifndef minor
# define minor(dev) gnu_dev_minor (dev)
#endif
[..]

2007-09-29 Packages failing to build with GTK+ 2.12 (symbol errors on GTK_TOOLTIPS, gtk_widget_unref and more)

GTK+ 2.12 deprecated a bunch of API and packages that define GTK_DISABLE_DEPRECATED now fail to build. Easy solution is to remove GTK_DISABLE_DEPRECATED from CFLAGS; better solution is to port to newer API (upstream may already have done it).

2007-12-01 Package failing with dpkg-shlibdeps "failure: something" messages

Check the dpkg-shlibdeps man page in dpkg-dev 1.14.12, it contains explanations of those new failures and suggestion on how to fix them.

2008-01-03 Failures with dash as /bin/sh

Ubuntu has been using dash as /bin/sh since Ubuntu edgy (released in october 2006). There's a nice page at https://wiki.ubuntu.com/DashAsBinSh giving some advice.

2008-04-13 Failures with dpkg-dev 1.14.18

dpkg now sets default values for CFLAGS, CPPFLAGS, etc (see dpkg-buildpackage(1)). This can break some build scripts that don't deal with those variables nicely.

2008-05-25 ld: cannot find -ldts

This happens compiling multimedia packages with gcc 4.3. To avoid it, add libdts-dev to the Build-Depends in debian/control. This package contains the headers and static libraries used to build applications that use libdts (-ldts).

Build failures caused by directory name

The buildd's version of sbuild, apt-get source, pbuilder all name the directory the package is unpackad in <sourcepackagename>-<upstream version> but the version of sbuild lucas uses names them <sourcepackagename>-<complete version>. Some packages unwisely rely on the directory name to extract version information for use in the rules. This very often causes files to be misnamed or missing which causes strange failures later (often in dpkg-shlibdeps).

A quick glance at debian/rules for such issues is generally a good idea when a build seems to work elsewhere but fails on lucas's rebuild pool.

Theese issues are usually easy to fix once identified, for example one may replace

with