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_D
 BUSER_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.

Reply via email to