GNU bug report logs - #18917
--disable-static breaks unittests (runpath-in-lalib.at & need_lib_prefix.at)

Previous Next

Package: libtool;

Reported by: Mike Frysinger <vapier <at> gentoo.org>

Date: Sat, 1 Nov 2014 02:56:01 UTC

Severity: normal

To reply to this bug, email your comments to 18917 AT debbugs.gnu.org.

Toggle the display of automated, internal messages from the tracker.

View this report as an mbox folder, status mbox, maintainer mbox


Report forwarded to bug-libtool <at> gnu.org:
bug#18917; Package libtool. (Sat, 01 Nov 2014 02:56:01 GMT) Full text and rfc822 format available.

Acknowledgement sent to Mike Frysinger <vapier <at> gentoo.org>:
New bug report received and forwarded. Copy sent to bug-libtool <at> gnu.org. (Sat, 01 Nov 2014 02:56:02 GMT) Full text and rfc822 format available.

Message #5 received at submit <at> debbugs.gnu.org (full text, mbox):

From: Mike Frysinger <vapier <at> gentoo.org>
To: bug-libtool <at> gnu.org
Subject: --disable-static breaks unittests (runpath-in-lalib.at &
 need_lib_prefix.at)
Date: Fri, 31 Oct 2014 22:54:55 -0400
[Message part 1 (text/plain, inline)]
when you configure libtool with --disable-static, these two unittests fail:
	runpath-in-lalib.at
	need_lib_prefix

if you hack the libtool script to set build_old_libs=yes by default, then the 
unittests pass.  it looks like libtool has flags to enable building of either 
static or shared libs, but there's no way to make it build both (which is the 
default with --enable-{shared,static}).

along those lines, it'd be nice if --disable-static didn't do this to the local 
copy of libtool that gets installed.  i understand the relationship between the 
configure flags and the generated libtool script -- normally you use the local 
libtool build the local libs and then only install those libs.  this is even how 
it's used with libltdl.  but the libtool package itself is a bit special in that 
it also installs the libtool script.

in Gentoo atm, i'm hacking this by setting build_old_libs=yes in the generated 
libtool script before testing/installing.  but ideally it'd be possible to 
install `libtool` with settings based on what the system can do, not how the 
package is building libltdl.{a,so}.
-mike
[signature.asc (application/pgp-signature, inline)]

Information forwarded to bug-libtool <at> gnu.org:
bug#18917; Package libtool. (Sun, 02 Nov 2014 19:23:02 GMT) Full text and rfc822 format available.

Message #8 received at 18917 <at> debbugs.gnu.org (full text, mbox):

From: "Gary V. Vaughan" <gary <at> gnu.org>
To: Mike Frysinger <vapier <at> gentoo.org>
Cc: 18917 <at> debbugs.gnu.org
Subject: Re: bug#18917: --disable-static breaks unittests (runpath-in-lalib.at
 & need_lib_prefix.at)
Date: Sun, 2 Nov 2014 18:28:41 +0000
Hi Mike,

> On Nov 1, 2014, at 2:54 AM, Mike Frysinger <vapier <at> gentoo.org> wrote:
> 
> when you configure libtool with --disable-static, these two unittests fail:
> 	runpath-in-lalib.at
> 	need_lib_prefix
> 
> if you hack the libtool script to set build_old_libs=yes by default, then the 
> unittests pass.  it looks like libtool has flags to enable building of either 
> static or shared libs, but there's no way to make it build both (which is the 
> default with --enable-{shared,static}).
> 
> along those lines, it'd be nice if --disable-static didn't do this to the local 
> copy of libtool that gets installed.  i understand the relationship between the 
> configure flags and the generated libtool script -- normally you use the local 
> libtool build the local libs and then only install those libs.  this is even how 
> it's used with libltdl.  but the libtool package itself is a bit special in that 
> it also installs the libtool script.

Yeah.  We're conflating the flags for building libltdl with the flags for the
libtool used to build it.

But, I don't see a sensible straight-forward way of fixing it.  Really, we need
to have libltdl build it's own libtool based on the configure flags, and have
libtool proper generate a separate installable libtool.  But that's a whole can
of worms I don't want to open, and was part of the reason I made plans to split
the existing libtool into 2 separately distributed packages in the next major
release:  Then, it would be obvious that configuring the package that installs
bin/libtool with --disable-static really is installing a libtool that has static
library building turned off by default.

> in Gentoo atm, i'm hacking this by setting build_old_libs=yes in the generated 
> libtool script before testing/installing.  but ideally it'd be possible to 
> install `libtool` with settings based on what the system can do, not how the 
> package is building libltdl.{a,so}.

I think it would be safer for gentoo to package the two separately then... have a
libltdl package, which you build using --disable-static, and a separate libtool
package (containing libtoolize, libtool and the supporting share/libtool files)
configured with --enable-shared and --enable-static.

I'd be very happy to receive a patch to fix things more elegantly (perhaps by
adding additional flags to the top-level configure, and massaging and filtering
what gets passed down to a sub-configure in the libltdl subdirectory), but I'm
afraid I don't have the time to make it happen myself in the immediate future :(
Especially considering that the better long term fix is to split libltdl out into
its own project.

Cheers,
-- 
Gary V. Vaughan (gary AT gnu DOT org)





Information forwarded to bug-libtool <at> gnu.org:
bug#18917; Package libtool. (Mon, 16 Feb 2015 12:46:02 GMT) Full text and rfc822 format available.

Message #11 received at 18917 <at> debbugs.gnu.org (full text, mbox):

From: Mike Frysinger <vapier <at> gentoo.org>
To: "Gary V. Vaughan" <gary <at> gnu.org>
Cc: 18917 <at> debbugs.gnu.org
Subject: Re: bug#18917: --disable-static breaks unittests
 (runpath-in-lalib.at & need_lib_prefix.at)
Date: Mon, 16 Feb 2015 07:45:43 -0500
[Message part 1 (text/plain, inline)]
On 02 Nov 2014 18:28, Gary V. Vaughan wrote:
> > On Nov 1, 2014, at 2:54 AM, Mike Frysinger wrote:
> > in Gentoo atm, i'm hacking this by setting build_old_libs=yes in the generated 
> > libtool script before testing/installing.  but ideally it'd be possible to 
> > install `libtool` with settings based on what the system can do, not how the 
> > package is building libltdl.{a,so}.
> 
> I think it would be safer for gentoo to package the two separately then... have a
> libltdl package, which you build using --disable-static, and a separate libtool
> package (containing libtoolize, libtool and the supporting share/libtool files)
> configured with --enable-shared and --enable-static.

i ended up going this route and things look happy.  thanks for the suggestion!
-mike
[signature.asc (application/pgp-signature, inline)]

This bug report was last modified 10 years and 120 days ago.

Previous Next


GNU bug tracking system
Copyright (C) 1999 Darren O. Benham, 1997,2003 nCipher Corporation Ltd, 1994-97 Ian Jackson.