Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 527200 - sys-devel/libtool-2.4.3: libtoolize deletes header files it does not install (e.g. snippet/c++defs.h)
Summary: sys-devel/libtool-2.4.3: libtoolize deletes header files it does not install ...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: AMD64 Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL: https://lists.gnu.org/archive/html/li...
Whiteboard:
Keywords:
: 527220 527286 527296 527314 527346 527398 527426 527554 527684 527686 528574 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-10-28 09:04 UTC by Jorge Nerin
Modified: 2014-12-05 16:33 UTC (History)
24 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
emerge --info '=app-emulation/libvirt-1.2.9::gentoo' (file_527200.txt,20.00 KB, text/plain)
2014-10-28 09:07 UTC, Jorge Nerin
Details
libvirt-1.2.9/temp/build.log (build.log,56.44 KB, text/x-log)
2014-10-28 09:08 UTC, Jorge Nerin
Details
libtoolize --copy --force --verbose --debug output (file_527200.txt,787.49 KB, text/plain)
2014-10-28 09:45 UTC, Jorge Nerin
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Jorge Nerin 2014-10-28 09:04:52 UTC
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"
Comment 1 Jorge Nerin 2014-10-28 09:07:00 UTC
Created attachment 387628 [details]
emerge --info '=app-emulation/libvirt-1.2.9::gentoo'
Comment 2 Jorge Nerin 2014-10-28 09:08:07 UTC
Created attachment 387630 [details]
libvirt-1.2.9/temp/build.log

Full build log
Comment 3 Agostino Sarubbo gentoo-dev 2014-10-28 09:18:27 UTC
I can't reproduce with the same USE combo.
Comment 4 Jorge Nerin 2014-10-28 09:27:11 UTC
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
Comment 5 Agostino Sarubbo gentoo-dev 2014-10-28 09:36:42 UTC
I can reproduce with libtool-2.4.3
Comment 6 Jorge Nerin 2014-10-28 09:44:22 UTC
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.
Comment 7 Jorge Nerin 2014-10-28 09:45:31 UTC
Created attachment 387636 [details]
libtoolize --copy --force  --verbose --debug output

Full debug output of libtoolize --copy --force  --verbose --debug
Comment 8 Francisco J. Vazquez 2014-10-28 15:41:54 UTC
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.
Comment 9 Jeroen Roovers (RETIRED) gentoo-dev 2014-10-28 16:14:32 UTC
*** Bug 527220 has been marked as a duplicate of this bug. ***
Comment 10 Jeroen Roovers (RETIRED) gentoo-dev 2014-10-29 09:13:28 UTC
*** Bug 527286 has been marked as a duplicate of this bug. ***
Comment 11 Jeroen Roovers (RETIRED) gentoo-dev 2014-10-29 09:30:36 UTC
*** Bug 527314 has been marked as a duplicate of this bug. ***
Comment 12 Rafał Mużyło 2014-10-30 00:07:46 UTC
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.
Comment 13 Rafał Mużyło 2014-10-30 02:24:34 UTC
*** Bug 527346 has been marked as a duplicate of this bug. ***
Comment 14 Rafał Mużyło 2014-10-30 03:57:46 UTC
...and on a not really related note: did you notice, that 2.4.3 tarball is compressed significantly weaker than the previous one ?
Comment 15 marcc 2014-10-30 10:13:47 UTC
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
Comment 16 Jeroen Roovers (RETIRED) gentoo-dev 2014-10-30 10:31:08 UTC
*** Bug 527426 has been marked as a duplicate of this bug. ***
Comment 17 Jeroen Roovers (RETIRED) gentoo-dev 2014-10-30 10:47:21 UTC
*** Bug 527398 has been marked as a duplicate of this bug. ***
Comment 18 Yuriy Dmitriev 2014-10-30 14:23:06 UTC
(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!
Comment 19 Jeroen Roovers (RETIRED) gentoo-dev 2014-10-30 19:09:22 UTC
*** Bug 527506 has been marked as a duplicate of this bug. ***
Comment 20 Rafał Mużyło 2014-10-31 05:09:15 UTC
...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.
Comment 21 Rafał Mużyło 2014-10-31 08:54:42 UTC
*** Bug 527554 has been marked as a duplicate of this bug. ***
Comment 22 SpanKY gentoo-dev 2014-10-31 21:08:16 UTC
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
Comment 23 John Bowler 2014-10-31 22:14:19 UTC
I've confirmed that fix for gnutls (libtool-2.4.3-r1)
Comment 24 Rafał Mużyło 2014-11-01 07:39:23 UTC
*** Bug 527684 has been marked as a duplicate of this bug. ***
Comment 25 Yuriy Dmitriev 2014-11-03 19:41:21 UTC
(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
Comment 26 Yuriy Dmitriev 2014-11-03 19:45:01 UTC
(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
Comment 27 SpanKY gentoo-dev 2014-11-03 21:46:43 UTC
(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.
Comment 28 Jeroen Roovers (RETIRED) gentoo-dev 2014-11-08 14:26:30 UTC
*** Bug 528574 has been marked as a duplicate of this bug. ***
Comment 29 Jeroen Roovers (RETIRED) gentoo-dev 2014-12-05 16:33:31 UTC
*** Bug 527296 has been marked as a duplicate of this bug. ***
Comment 30 Jeroen Roovers (RETIRED) gentoo-dev 2014-12-05 16:33:53 UTC
*** Bug 527686 has been marked as a duplicate of this bug. ***