Summary: | sys-devel/libtool-2.4.3: libtoolize deletes header files it does not install (e.g. snippet/c++defs.h) | ||
---|---|---|---|
Product: | Gentoo Linux | Reporter: | Jorge Nerin <jnerin> |
Component: | [OLD] Core system | Assignee: | Gentoo's Team for Core System packages <base-system> |
Status: | RESOLVED FIXED | ||
Severity: | normal | CC: | arfrever.fta, billydv1, dv, galtgendo, gentoo, gentoo, grozin, headcrabextra, ishkulov, it, jbowler, jer, josef64, karl.j.linden, kdvgent, mattst88, mgmadden, n-roeser, patrick, pavel, pbatishchev, public, toralf, zeekec |
Priority: | Normal | ||
Version: | unspecified | ||
Hardware: | AMD64 | ||
OS: | Linux | ||
URL: | https://lists.gnu.org/archive/html/libtool-patches/2014-10/msg00018.html | ||
Whiteboard: | |||
Package list: | Runtime testing required: | --- | |
Attachments: |
emerge --info '=app-emulation/libvirt-1.2.9::gentoo'
libvirt-1.2.9/temp/build.log libtoolize --copy --force --verbose --debug output |
Description
Jorge Nerin
2014-10-28 09:04:52 UTC
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 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. *** |