Re: [PATCH 1/2] progs: autoconf fails during debian package builds

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Jan 20, 2023 at 10:39:05AM +1100, Dave Chinner wrote:
> From: Dave Chinner <dchinner@xxxxxxxxxx>
> 
> For some reason, a current debian testing build system will fail to
> build debian packages because the build environment is not correctly
> detecting that libtoolize needs the "-i" parameter to copy in the
> files needed by autoconf.
> 
> My build scripts run "make -j 16 realclean; make -j 16 deb", and the
> second step is failing immediately with:
> 
> libtoolize -c `libtoolize -n -i >/dev/null 2>/dev/null && echo -i` -f
> libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, '.'.
> libtoolize: copying file './ltmain.sh'
> libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'.
> libtoolize: copying file 'm4/libtool.m4'
> libtoolize: copying file 'm4/ltoptions.m4'
> libtoolize: copying file 'm4/ltsugar.m4'
> libtoolize: copying file 'm4/ltversion.m4'
> libtoolize: copying file 'm4/lt~obsolete.m4'
> libtoolize: Consider adding '-I m4' to ACLOCAL_AMFLAGS in Makefile.am.
> cp include/install-sh .
> aclocal -I m4
> autoconf
> ./configure $LOCAL_CONFIGURE_OPTIONS
> configure: error: cannot find required auxiliary files: config.guess config.sub
> make: *** [Makefile:131: include/builddefs] Error 1
> 
> If I run 'make realclean; make deb' from the command line, the
> package build runs to completion.  I have not been able to work out
> why the initial build fails, but then succeeds after a 'make
> realclean' has been run, and I don't feel like spending hours
> running down this rabbit hole.
> 
> This conditional "-i" flag detection was added back in *2009* when
> default libtoolize behaviour was changed to not copy the config
> files into the build area, and the "-i" flag was added to provide
> that behaviour. It is detecting that the "-i" flag is needed that is
> now failing, but it is most definitely still needed.
> 
> Rather than ispending lots of time trying to understand this and
> then making the detection more complex, just use the "-i" flag
> unconditionally and require any userspace that this now breaks on to
> upgrade their 15+ year old version of libtoolize something a little
> more modern.
> 
> Signed-off-by: Dave Chinner <dchinner@xxxxxxxxxx>

Seems fair enough.
It's still working on debian 11 stable, I'm curious to understand what breaks
the detection of -i argument for libtoolize, I'm gonna give it a try on testing.

Reviewed-by: Carlos Maiolino <cmaiolino@xxxxxxxxxx>
> ---
>  Makefile | 8 +-------
>  1 file changed, 1 insertion(+), 7 deletions(-)
> 
> diff --git a/Makefile b/Makefile
> index 0edc2700933d..c8455a9e665f 100644
> --- a/Makefile
> +++ b/Makefile
> @@ -115,14 +115,8 @@ else
>  clean:	# if configure hasn't run, nothing to clean
>  endif
> 
> -
> -# Recent versions of libtool require the -i option for copying auxiliary
> -# files (config.sub, config.guess, install-sh, ltmain.sh), while older
> -# versions will copy those files anyway, and don't understand -i.
> -LIBTOOLIZE_INSTALL = `$(LIBTOOLIZE_BIN) -n -i >/dev/null 2>/dev/null && echo -i`
> -
>  configure: configure.ac
> -	$(LIBTOOLIZE_BIN) -c $(LIBTOOLIZE_INSTALL) -f
> +	$(LIBTOOLIZE_BIN) -c -i -f
>  	cp include/install-sh .
>  	aclocal -I m4
>  	autoconf
> --
> 2.39.0
> 

-- 
Carlos Maiolino



[Index of Archives]     [XFS Filesystem Development (older mail)]     [Linux Filesystem Development]     [Linux Audio Users]     [Yosemite Trails]     [Linux Kernel]     [Linux RAID]     [Linux SCSI]


  Powered by Linux