Building libvirt-1.2.9 fails with the error: make[2]: Entering directory '/var/tmp/portage/app-emulation/libvirt-1.2.9/work/libvirt-1.2.9/gnulib/lib' rm -f alloca.h-t alloca.h && \ { echo '/* DO NOT EDIT! GENERATED AUTOMATICALLY! */'; \ cat ./alloca.in.h; \ } > alloca.h-t && \ mv -f alloca.h-t alloca.h make[2]: *** No rule to make target '../../build-aux/snippet/c++defs.h', needed by 'c++defs.h'. Stop. make[2]: *** Waiting for unfinished jobs.... make[2]: Leaving directory '/var/tmp/portage/app-emulation/libvirt-1.2.9/work/libvirt-1.2.9/gnulib/lib' Makefile:1979: recipe for target 'all-recursive' failed Reproducible: Always Steps to Reproduce: 1. emerge '=app-emulation/libvirt-1.2.9' 2. 3. Actual Results: Build error Expected Results: Correct build and emerge Inside the /usr/portage/distfiles/libvirt-1.2.9.tar.gz there is a directory build-aux/snippet with the files: arg-nonnull.h c++defs.h _Noreturn.h unused-parameter.h warn-on-use.h that after running ebuild prepare it contains only "unused-parameter.h". I think the step that cleans the files is "Running libtoolize --copy --force --automake"
Created attachment 387628 [details] emerge --info '=app-emulation/libvirt-1.2.9::gentoo'
Created attachment 387630 [details] libvirt-1.2.9/temp/build.log Full build log
I can't reproduce with the same USE combo.
I have libtool-2.4.3, if I unpack in /tmp the tar.gz and run this steps I can make these files disappear: coma@mururoa /tmp/libvirt-1.2.9 $ ls build-aux/snippet/ arg-nonnull.h c++defs.h _Noreturn.h unused-parameter.h warn-on-use.h coma@mururoa /tmp/libvirt-1.2.9 $ libtoolize --copy --force --automake coma@mururoa /tmp/libvirt-1.2.9 $ ls build-aux/snippet/ unused-parameter.h
I can reproduce with libtool-2.4.3
Sorry for the spam :( Additional tests, the --force parameter is the one that makes it delete the files: coma@mururoa /tmp/libvirt-1.2.9 $ ls build-aux/snippet/ arg-nonnull.h c++defs.h _Noreturn.h unused-parameter.h warn-on-use.h coma@mururoa /tmp/libvirt-1.2.9 $ libtoolize --copy --verbose libtoolize: found 'configure.ac' libtoolize: export M4='m4' libtoolize: ac_aux_dir='build-aux' libtoolize: ltdl mode='' libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. libtoolize: 'build-aux/ltmain.sh' is already up to date. libtoolize: found 'Makefile.am' libtoolize: aclocal_amflags=-I m4' libtoolize: am_macro_dir='m4' libtoolize: Not copying 'm4/argz.m4', libltdl not used. libtoolize: Not copying 'm4/ltdl.m4', libltdl not used. libtoolize: found LT_INIT invocation coma@mururoa /tmp/libvirt-1.2.9 $ ls build-aux/snippet/ arg-nonnull.h c++defs.h _Noreturn.h unused-parameter.h warn-on-use.h coma@mururoa /tmp/libvirt-1.2.9 $ libtoolize --copy --force --verbose libtoolize: found 'configure.ac' libtoolize: export M4='m4' libtoolize: ac_aux_dir='build-aux' libtoolize: ltdl mode='' libtoolize: rm -f 'build-aux/compile' libtoolize: rm -f 'build-aux/depcomp' libtoolize: rm -f 'build-aux/missing' libtoolize: rm -f 'build-aux/ltmain.sh' libtoolize: rm -f 'build-aux/snippet/_Noreturn.h' libtoolize: rm -f 'build-aux/snippet/arg-nonnull.h' libtoolize: rm -f 'build-aux/snippet/c++defs.h' libtoolize: rm -f 'build-aux/snippet/warn-on-use.h' libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build-aux'. libtoolize: cp -f /usr/share/libtool/build-aux/ltmain.sh build-aux libtoolize: found 'Makefile.am' libtoolize: aclocal_amflags=-I m4' libtoolize: am_macro_dir='m4' libtoolize: rm -f 'm4/libtool.m4' libtoolize: rm -f 'm4/ltoptions.m4' libtoolize: rm -f 'm4/ltsugar.m4' libtoolize: rm -f 'm4/ltversion.m4' libtoolize: rm -f 'm4/lt~obsolete.m4' libtoolize: Not copying 'm4/argz.m4', libltdl not used. libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'm4'. libtoolize: cp -f /usr/share/aclocal/libtool.m4 m4 libtoolize: Not copying 'm4/ltdl.m4', libltdl not used. libtoolize: cp -f /usr/share/aclocal/ltoptions.m4 m4 libtoolize: cp -f /usr/share/aclocal/ltsugar.m4 m4 libtoolize: cp -f /usr/share/aclocal/ltversion.m4 m4 libtoolize: cp -f /usr/share/aclocal/lt~obsolete.m4 m4 libtoolize: found LT_INIT invocation coma@mururoa /tmp/libvirt-1.2.9 $ ls build-aux/snippet/ unused-parameter.h I'll attach a full debug output of libtoolize.
Created attachment 387636 [details] libtoolize --copy --force --verbose --debug output Full debug output of libtoolize --copy --force --verbose --debug
Same error with lftp and octave: c++defs.h gets removed and they fail to build. Downgrading to libtool 2.4.2 fixes the build error for both.
*** Bug 527220 has been marked as a duplicate of this bug. ***
*** Bug 527286 has been marked as a duplicate of this bug. ***
*** Bug 527314 has been marked as a duplicate of this bug. ***
For some reason, all those headers (snippet/_Noreturn.h snippet/arg-nonnull.h snippet/c++defs.h snippet/warn-on-use.h) got explicitly added to the list of files '--force' should remove during a rewrite of libtoolize that took place a little over two years ago. Noteworthy is that install-sh initially was also among these files, but got removed by an explicit commit. So it might be worth asking (*libtool*) upstream about how that's supposed to work.
*** Bug 527346 has been marked as a duplicate of this bug. ***
...and on a not really related note: did you notice, that 2.4.3 tarball is compressed significantly weaker than the previous one ?
libtool 2.4.3 also crashes compilation of dev-libs/apr net-libs/gnutls net-ftp/lftp media-tv/tvheadend Workaround: downgrade libtool to 2.4.2-r1
*** Bug 527426 has been marked as a duplicate of this bug. ***
*** Bug 527398 has been marked as a duplicate of this bug. ***
(In reply to marcc from comment #15) > libtool 2.4.3 also crashes compilation of > dev-libs/apr > net-libs/gnutls > net-ftp/lftp > media-tv/tvheadend > > Workaround: downgrade libtool to 2.4.2-r1 Workaround nice working)) Thank you!
*** Bug 527506 has been marked as a duplicate of this bug. ***
...oops, comment 14 is wrong, that tarball is OK - cyrus-sasl 2.1.26 just makes me see things that aren't there every now and then.
*** Bug 527554 has been marked as a duplicate of this bug. ***
should be all set now in the tree; thanks for the report! Commit message: Do not delete headers installed by gnulib http://sources.gentoo.org/sys-devel/libtool/files/libtool-2.4.3-no-clean-gnulib.patch?rev=1.1 http://sources.gentoo.org/sys-devel/libtool/libtool-2.4.3-r1.ebuild?rev=1.1
I've confirmed that fix for gnutls (libtool-2.4.3-r1)
*** Bug 527684 has been marked as a duplicate of this bug. ***
(In reply to SpanKY from comment #22) > should be all set now in the tree; thanks for the report! > > Commit message: Do not delete headers installed by gnulib > http://sources.gentoo.org/sys-devel/libtool/files/libtool-2.4.3-no-clean- > gnulib.patch?rev=1.1 > http://sources.gentoo.org/sys-devel/libtool/libtool-2.4.3-r1.ebuild?rev=1.1 Thanks!!! But exist second problem. We are need *doc* USE flag, or/and add *help2man* dependency. My build short snip. make[2]: Entering directory '/var/tmp/portage/sys-devel/libtool-2.4.3-r2/work/libtool-2.4.3' make[3]: Entering directory '/var/tmp/portage/sys-devel/libtool-2.4.3-r2/work/libtool-2.4.3' CC libltdl/lt__strl.lo GEN doc/libtoolize.1 /var/tmp/portage/sys-devel/libtool-2.4.3-r2/work/libtool-2.4.3/build-aux/missing: line 81: help2man: command not found WARNING: 'help2man' is missing on your system. You should only need it if you modified a dependency of a man page. You may want to install the GNU Help2man package: <http://www.gnu.org/software/help2man/> Makefile:2292: recipe for target 'doc/libtoolize.1' failed make[2]: *** [doc/libtoolize.1] Error 127 make[2]: *** Waiting for unfinished jobs.... make[3]: Leaving directory '/var/tmp/portage/sys-devel/libtool-2.4.3-r2/work/libtool-2.4.3' make[2]: Leaving directory '/var/tmp/portage/sys-devel/libtool-2.4.3-r2/work/libtool-2.4.3' Makefile:1571: recipe for target 'all-recursive' failed make[1]: *** [all-recursive] Error 1
(In reply to Yuriy Dmitriev from comment #25) we do one issue per bug. this bug was about deleting random header files and that is now fixed, so this bug is now closed.
*** Bug 528574 has been marked as a duplicate of this bug. ***
*** Bug 527296 has been marked as a duplicate of this bug. ***
*** Bug 527686 has been marked as a duplicate of this bug. ***