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

Full log


View this message in rfc822 format

From: Jason Vas Dias <jason.vas.dias <at> gmail.com>
To: 8558 <at> debbugs.gnu.org
Cc: Mike Frysinger <vapier <at> gentoo.org>
Subject: bug#8558: 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 ?




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

Previous Next


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