GNU bug report logs - #8558
libtool must not depend on existence of system '/usr/lib*/*.la' files

Previous Next

Package: libtool;

Reported by: jason.vas.dias <at> gmail.com

Date: Tue, 26 Apr 2011 12:39:02 UTC

Severity: normal

To reply to this bug, email your comments to 8558 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 owner <at> debbugs.gnu.org, bug-libtool <at> gnu.org:
bug#8558; Package libtool. (Tue, 26 Apr 2011 12:39:02 GMT) Full text and rfc822 format available.

Acknowledgement sent to jason.vas.dias <at> gmail.com:
New bug report received and forwarded. Copy sent to bug-libtool <at> gnu.org. (Tue, 26 Apr 2011 12:39:02 GMT) Full text and rfc822 format available.

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

From: Jason Vas Dias <jason.vas.dias <at> gmail.com>
To: bug-libtool <at> gnu.org
Cc: Mike Frysinger <vapier <at> gentoo.org>
Subject: libtool must not depend on existence of system '/usr/lib*/*.la' files
Date: Tue, 26 Apr 2011 13:38:15 +0100
This bug is related to,  but different from, bug #8537, and is fixed by the patch 
(to INSTALLED script) that I submitted for that bug .

My 32-bit C++ libtool builds were failing because libtool incorrectly accessed
   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/libstdc++v3.la , 
which gcc installs for its 64-bit environment, NOT 
   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libstdc++v3.la ,
which gcc installs for its 64-bit environment.

So I removed all gcc libtool files (I still have the build tree) :
  $ find /usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0  -name '*.la' -a -exec 'rm' '{}' ';'

And I try to rebuild the 32-bit package from scratch, and it fails because libtool can
find no system 'libstdc++v3.la' file. 

Then also the C++ 64-bit builds fail because of missing libstdc++v3.la files .

So :
  o I cannot build 32-bit C++ programs with libtool when the 64-bit libstdc++v3.la file is installed;
  o I cannot build 64-bit or 32-bit C++ programs with libtool without any libstdc++v3.la files installed.

In both cases all the 
   /usr/lib/gcc/x86_64-pc-linux-gnu/4.6.0/{,32/}lib{stdc++v3,suppc++,suppc++convenience}.{a,so} files
existed correctly, so why didn't libtool pick them up and use them ?

Why is libtool demanding that I install system /usr/*/*.la files ? 
I thought installing these was optional ?

I think this is all to do with libtool using a hardcoded $sys_lib_search_path_spec :

/usr/bin/libtool <at> line 274:
# Compile-time system search path for libraries.
sys_lib_search_path_spec="/usr/lib64/gcc/x86_64-pc-linux-gnu/lib64 /usr/lib64 /lib64 /usr/x86_64-pc-linux-gnu/lib "

when I think it should be saying:
# Compile-time system search path for libraries.
sys_lib_search_path_spec="$(${CC:-gcc} $CFLAGS -print-search-dirs |sed -n '/^libraries:/{s/^libraries[:=\ \       ]*//;s/:/ /g;p}')"

Please, Mike, libtool developers, what is wrong with my reasoning here ?




Information forwarded to owner <at> debbugs.gnu.org, bug-libtool <at> gnu.org:
bug#8558; Package libtool. (Tue, 26 Apr 2011 16:57:02 GMT) Full text and rfc822 format available.

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

From: Mike Frysinger <vapier <at> gentoo.org>
To: jason.vas.dias <at> gmail.com
Cc: bug-libtool <at> gnu.org
Subject: Re: libtool must not depend on existence of system '/usr/lib*/*.la'
	files
Date: Tue, 26 Apr 2011 12:56:22 -0400
On Tue, Apr 26, 2011 at 08:38, Jason Vas Dias wrote:
> My 32-bit C++ libtool builds were failing because libtool incorrectly accessed
>   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/libstdc++v3.la ,
> which gcc installs for its 64-bit environment, NOT
>   /usr/lib64/gcc/x86_64-pc-linux-gnu/4.6.0/32/libstdc++v3.la ,
> which gcc installs for its 64-bit environment.

you mean which gcc installs for its 32-bit env

> And I try to rebuild the 32-bit package from scratch, and it fails because libtool can
> find no system 'libstdc++v3.la' file.

most likely not a bug in libtool.  something (probably a .la file) has
encoded a reference to the libstdc++ .la file.  find that something
and fix it.
-mike




This bug report was last modified 14 years and 115 days ago.

Previous Next


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