Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 529008 - ~sys-devel/libtool-2.4.3 does not pass test for --install in _elibtoolize() in some cases
Summary: ~sys-devel/libtool-2.4.3 does not pass test for --install in _elibtoolize() i...
Status: RESOLVED FIXED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Core system (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: Gentoo's Team for Core System packages
URL:
Whiteboard:
Keywords:
: 529014 (view as bug list)
Depends on:
Blocks:
 
Reported: 2014-11-12 07:16 UTC by Alexander Tsoy
Modified: 2016-02-13 07:51 UTC (History)
1 user (show)

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


Attachments
0001-libtoolize-skip-destfile-existence-check-in-dry-run-.patch (0001-libtoolize-skip-destfile-existence-check-in-dry-run-.patch,1.05 KB, patch)
2014-11-12 21:44 UTC, Alexander Tsoy
Details | Diff

Note You need to log in before you can comment on or make changes to this bug.
Description Alexander Tsoy 2014-11-12 07:16:37 UTC
First of all I'm not aware of any case when this can cause build failures.

The following test from autotools.eclass:_elibtoolize() doesn't work in some cases with libtool-2.4.3:

    if [[ $1 == "--install" ]] ; then
        ${LIBTOOLIZE} -n --install >& /dev/null || shift
    fi

One of the examples is apr:

vm3020 apr-1.5.0 # libtoolize -n --install
rm -f build/config.guess
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build'.
libtoolize:   error: 'build/config.guess' exists: use '--force' to overwrite
rm -f build/config.sub
libtoolize:   error: 'build/config.sub' exists: use '--force' to overwrite
rm -f build/install-sh
libtoolize: linking file 'build/install-sh'
rm -f build/ltmain.sh
libtoolize:   error: 'build/ltmain.sh' exists: use '--force' to overwrite
rm -f build/libtool.m4
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'build'.
libtoolize:   error: 'build/libtool.m4' exists: use '--force' to overwrite
rm -f build/ltoptions.m4
libtoolize:   error: 'build/ltoptions.m4' exists: use '--force' to overwrite
rm -f build/ltversion.m4
libtoolize:   error: 'build/ltversion.m4' exists: use '--force' to overwrite
libtoolize: Consider adding '-I build' to ACLOCAL_AMFLAGS in Makefile.am.
libtoolize: 'AC_PROG_RANLIB' is rendered obsolete by 'LT_INIT'
vm3020 apr-1.5.0 # echo $?
1

However without "-n" it works fine:

vm3020 apr-1.5.0 # libtoolize --install
libtoolize: putting auxiliary files in AC_CONFIG_AUX_DIR, 'build'.
libtoolize: linking file 'build/config.guess'
libtoolize: linking file 'build/config.sub'
libtoolize: linking file 'build/install-sh'
libtoolize: linking file 'build/ltmain.sh'
libtoolize: putting macros in AC_CONFIG_MACRO_DIRS, 'build'.
libtoolize: linking file 'build/libtool.m4'
libtoolize: linking file 'build/ltoptions.m4'
libtoolize: linking file 'build/ltversion.m4'
libtoolize: Consider adding '-I build' to ACLOCAL_AMFLAGS in Makefile.am.
libtoolize: 'AC_PROG_RANLIB' is rendered obsolete by 'LT_INIT'
vm3020 apr-1.5.0 # echo $?
0
Comment 1 Alexander Tsoy 2014-11-12 21:44:03 UTC
Created attachment 389202 [details, diff]
0001-libtoolize-skip-destfile-existence-check-in-dry-run-.patch

Possible fix
Comment 2 SpanKY gentoo-dev 2014-11-12 23:00:39 UTC
if you've gone through the effort of writing a proper patch, you could just send it directly to the libtool guys :)

https://lists.gnu.org/mailman/listinfo/libtool-patches
Comment 3 Alexander Tsoy 2014-11-13 07:15:26 UTC
Currently I don't think it's a proper patch. func_copy() should skip the existence check only if the destfile was previously "removed" by '$RM "$my_destfile"' which is not always true. So my patch is more like a workaround.
Comment 4 Alexander Tsoy 2014-11-13 07:23:47 UTC
(In reply to Alexander Tsoy from comment #0)
> First of all I'm not aware of any case when this can cause build failures.

Oh. We have at least one package which suffer from this issue: bug 529014 :)
Comment 5 SpanKY gentoo-dev 2014-11-13 17:08:22 UTC
(In reply to Alexander Tsoy from comment #3)

the worst that would happen is they say no, and then they'd fix it themselves in a different way ;)

(In reply to Alexander Tsoy from comment #4)

we can probably just the eclass to force recent libtool versions and then drop the logic that probes the version
Comment 6 SpanKY gentoo-dev 2014-11-13 17:14:47 UTC
libtoolize now always uses --install and forces libtool-2.4+

http://sources.gentoo.org/eclass/autotools.eclass?r1=1.163&r2=1.164
Comment 7 SpanKY gentoo-dev 2014-11-13 17:15:02 UTC
*** Bug 529014 has been marked as a duplicate of this bug. ***
Comment 8 SpanKY gentoo-dev 2016-02-13 07:51:49 UTC
guess it's a non-issue for us now in the tree