On 02/22/2012 12:32 AM, Tim Retout wrote: > Hi Stefano! > > On 21 February 2012 22:35, Stefano Lattarini > <stefano.lattar...@gmail.com> wrote: >> On 02/11/2012 08:19 PM, Tim Retout wrote: >>> Since automake 1.11.2, aclocal no longer succeeds if the system acdir >>> does not exist. This causes Debian's 'make' package (and possibly >>> others?) to FTBFS under cowbuilder, because it calls autoreconf when >>> /usr/share/aclocal is not present. >>> >> But the automake build system creates /usr/share/aclocal at "make install" >> time... So, how comes that this "cowbuilder" provides an aclocal program >> without an /usr/share/aclocal directory? > > Well, /usr/share/aclocal-1.11 exists. > Yes, but that's the "versioned acdir" a.k.a. "automake acdir" (where the .m4 files defining automake-provided m4 macros like AM_INIT_AUTOMAKE are installed), *not* the "system acdir" (where third-party system-wide .m4 files are expected to be installed).
The main difference among these two directories, installation-wise, is that the versioned acdir is created with actual contents from the start, while the system acdir is created empty, and possibly filled later by installation third-party packages, like, say, pkg-config or gettext: $ dpkg -L pkg-config | grep '\.m4$' /usr/share/aclocal/pkg.m4 $ dpkg -L gettext | grep '\.m4$' | head -2 /usr/share/aclocal/size_max.m4 /usr/share/aclocal/codeset.m4 > But /usr/share/aclocal does not, because there are no third-party > m4 files required at the time that GNU Make was being compiled. > Weird; the directory is created unconditionally by automake's "make install". Might it be the fault of cowbuilder that it somehow removes empty directories when creating its chroot environment? > Cowbuilder is a minimal chroot environment designed to ensure clean > builds - it is very common for packages to be built in this type of > environment, and it worked all the way up to and including automake > 1.11.1. > > Should automake installations create an empty /usr/share/aclocal > directory? > They do (otherwise aclocal would be broken out-of-the box): $ cd ~/src/am $ ./configure --prefix=`pwd`/i && make install ... $ ls -l i/share total 24 drwxr-xr-x 2 stefano stefano 4096 Feb 22 09:22 aclocal drwxr-xr-x 2 stefano stefano 4096 Feb 22 09:22 aclocal-1.11a drwxr-xr-x 4 stefano stefano 4096 Feb 22 09:22 automake-1.11a ... > That might be all that's needed to fix this. I notice that > m4/Makefile.am has a relatively new comment about creating > $(system_acdir)... > But that comments says that it is automake's "make install" that should create it ;-) > the Debian packaging probably hasn't been updated to reflect this. > > So, I think I've answered my own question - we can fix this in the > packaging. :) I don't *think* multiple automake versions on the same > system owning /usr/share/aclocal will be a problem... > It shouldn't -- /usr/share/aclocal is meant to be shared > Kind regards, > Thanks, Stefano