[pkg-bacula-devel] Bug#997139: bacula: FTBFS: configure: error: cannot find required auxiliary files: config.rpath mkinstalldirs config.guess config.sub ltmain.sh install-sh
Sven Hartge
sven at svenhartge.de
Mon Oct 25 15:00:00 BST 2021
Um 21:04 Uhr am 23.10.21 schrieb Lucas Nussbaum:
> Relevant part (hopefully):
> > touch src/qt-console/tray-monitor/.libs/bacula-tray-monitor
> > chmod 755 src/qt-console/tray-monitor/.libs/bacula-tray-monitor
> > dh_auto_configure -- --enable-smartalloc --with-tcp-wrappers --with-openssl --with-libiconv-prefix=/usr/include --with-readline=/usr/include/readline --disable-conio --with-libintl-prefix=/usr/include --docdir=\${prefix}/share/doc/bacula-common --htmldir=\${prefix}/share/doc/bacula-common/html --libdir=\${prefix}/lib/bacula --enable-batch-insert --enable-ipv6 --with-dir-password=XXX_DIRPASSWORD_XXX --with-fd-password=XXX_FDPASSWORD_XXX --with-sd-password=XXX_SDPASSWORD_XXX --with-mon-dir-password=XXX_MONDIRPASSWORD_XXX --with-mon-fd-password=XXX_MONFDPASSWORD_XXX --with-mon-sd-password=XXX_MONSDPASSWORD_XXX --with-db-name=XXX_DBNAME_XXX --with-db-user=XXX_DBUSER_XXX --with-db-password=XXX_DBPASSWORD_XXX --with-hostname=localhost --config-cache --with-archivedir=/nonexistant/path/to/file/archive/dir --sysconfdir=/etc/bacula --with-scriptdir=/etc/bacula/scripts --sharedstatedir=/var/lib/bacula --localstatedir=/var/lib/bacula --with-logdir=/var/log/bacula --with-pid-dir=/run/bacula --with-smtp-host=localhost --with-working-dir=/var/lib/bacula --with-subsys-dir=/run/lock --with-dump-email=root --with-job-email=root --with-mysql --with-postgresql --with-sqlite3 --enable-bat --with-x --disable-s3 --with-systemd=/lib/systemd/system
> > ./configure --build=x86_64-linux-gnu --prefix=/usr --includedir=\${prefix}/include --mandir=\${prefix}/share/man --infodir=\${prefix}/share/info --sysconfdir=/etc --localstatedir=/var --disable-option-checking --disable-silent-rules --libdir=\${prefix}/lib/x86_64-linux-gnu --runstatedir=/run --disable-maintainer-mode --disable-dependency-tracking --enable-smartalloc --with-tcp-wrappers --with-openssl --with-libiconv-prefix=/usr/include --with-readline=/usr/include/readline --disable-conio --with-libintl-prefix=/usr/include --docdir=\${prefix}/share/doc/bacula-common --htmldir=\${prefix}/share/doc/bacula-common/html --libdir=\${prefix}/lib/bacula --enable-batch-insert --enable-ipv6 --with-dir-password=XXX_DIRPASSWORD_XXX --with-fd-password=XXX_FDPASSWORD_XXX --with-sd-password=XXX_SDPASSWORD_XXX --with-mon-dir-password=XXX_MONDIRPASSWORD_XXX --with-mon-fd-password=XXX_MONFDPASSWORD_XXX --with-mon-sd-password=XXX_MONSDPASSWORD_XXX --with-db-name=XXX_DBNAME_XXX --with-db-user=XXX_DBUSER_XXX --with-db-password=XXX_DBPASSWORD_XXX --with-hostname=localhost --config-cache --with-archivedir=/nonexistant/path/to/file/archive/dir --sysconfdir=/etc/bacula --with-scriptdir=/etc/bacula/scripts --sharedstatedir=/var/lib/bacula --localstatedir=/var/lib/bacula --with-logdir=/var/log/bacula --with-pid-dir=/run/bacula --with-smtp-host=localhost --with-working-dir=/var/lib/bacula --with-subsys-dir=/run/lock --with-dump-email=root --with-job-email=root --with-mysql --with-postgresql --with-sqlite3 --enable-bat --with-x --disable-s3 --with-systemd=/lib/systemd/system
> > configure: creating cache config.cache
> > configure: error: cannot find required auxiliary files: config.rpath mkinstalldirs config.guess config.sub ltmain.sh install-sh
> > tail -v -n \+0 config.log
Interesting.
I think this may be an autoconf2.71 problem or a dh problem
Debugging the generated configure script, I see that it tries to look in
the wrong place for the "autoconf/" directory when searching for the
auxiliary files:
+ case $as_dir in
+ as_dir=/autoconf/
+ as_found=:
+ printf '%s\n' 'configure:3618: trying /autoconf/'
+ ac_aux_dir_found=yes
+ ac_install_sh=
+ for ac_aux in $ac_aux_files
+ test xconfig.rpath = xinstall-sh
+ test -f /autoconf/config.rpath
+ ac_aux_dir_found=no
+ :
Obviously, "/autoconf/config.rpath" cannot exist.
Looking at the code in the generated configure script:
3595 # Locations in which to look for auxiliary files.
3596 ac_aux_dir_candidates="${BUILD_DIR}/autoconf"
it looks like $BUILD_DIR is empty, and when looking at the trace again, it
sure is:
+ ac_aux_dir_candidates=/autoconf
Comparing the old (supplied with the source) configure script and the
newly autoreconf'd one, it looks like BUILD_DIR is defined too late.
The old one has this
3159 BUILD_DIR=`pwd`
3160 cd ..
3161 TOP_DIR=`pwd`
3162 cd ${BUILD_DIR}
and only after that is BUILD_DIR used.
The new one uses BUILD_DIR earlier
3595 # Locations in which to look for auxiliary files.
3596 ac_aux_dir_candidates="${BUILD_DIR}/autoconf"
and the defintion is later
3760 BUILD_DIR=`pwd`
3761 cd ..
3762 TOP_DIR=`pwd`
3763 cd ${BUILD_DIR}
When I manually copy that code block above line 3596 then the configure
script starts to work again.
BUILD_DIR comes from autoconf/configure.in:
13 BUILD_DIR=`pwd`
14 cd ..
15 TOP_DIR=`pwd`
16 cd ${BUILD_DIR}
17 AC_SUBST(BUILD_DIR)
18 AC_SUBST(TOP_DIR)
19 AC_CONFIG_AUX_DIR(${BUILD_DIR}/autoconf)
As seen here, it is defined before being used. Why autoconf2.71 seems to
reorder the generated code here I cannot say.
To me this looks like a regression in autoconf.
Grüße,
Sven.
More information about the pkg-bacula-devel
mailing list