This is the mail archive of the
gcc-bugs@gcc.gnu.org
mailing list for the GCC project.
[Bug libstdc++/19962] New: local dependencies permeated throughout other libraries instead of for $prefix/lib
- From: "quanah at stanford dot edu" <gcc-bugzilla at gcc dot gnu dot org>
- To: gcc-bugs at gcc dot gnu dot org
- Date: 14 Feb 2005 23:59:01 -0000
- Subject: [Bug libstdc++/19962] New: local dependencies permeated throughout other libraries instead of for $prefix/lib
- Reply-to: gcc-bugzilla at gcc dot gnu dot org
The dependency tracker inherited by a variety of libraries, like libstdc++.la
keeps local dependencies. Since it is never installed via libtool, its
dependencies are never fixed based on the installation prefix defined at
configure. Because of this, the installed .la files point to invalid locations
for their dependencies.
An example of our build is configured as:
cd ../gcc-build/sun4x_58 && CFLAGS=-O CC=gcc sh ../../gcc-3.4.3/configure \
--datadir='${prefix}/lib' --libexecdir='${prefix}/lib' \
--sharedstatedir='${prefix}/lib' --prefix=/usr/pubsw \
--enable-threads \
--disable-multilib \
--with-gnu-as \
--with-as=/usr/pubsw/bin/as \
--with-gnu-ld \
--with-ld=/usr/pubsw/bin/ld \
--with-included-gettext \
--with-libintl-prefix=/usr/pubsw \
--with-libiconv-prefix=/usr/pubsw
It is then installed as:
cd ../gcc-build/sun4x_58 && make install
DESTDIR=/afs/.ir/pubsw/Languages/gcc-3.4.3/sun4x_58
Note that correct dependencies via .la files should look in /usr/pubsw/lib.
This however, does not appear to happen with any of the .la files that would use
it, and all the incorrect ones
grep dependency_libs libsupc++.la
dependency_libs='
-L/afs/ir.stanford.edu/src/pubsw/languages/gcc-build/sun4x_58/sparc-sun-solaris2.8/libstdc++-v3/src
-L/afs/ir.stanford.edu/src/pubsw/languages/gcc-build/sun4x_58/sparc-sun-solaris2.8/libstdc++-v3/src/.libs
-lm -L/afs/ir.stanford.edu/src/pubsw/languages/gcc-build/sun4x_58/gcc
-L/usr/pubsw/bin -L/usr/pubsw/lib -L/usr/ccs/bin -L/usr/ccs/lib -L/usr/local/lib
-lgcc_s -lgcc_s'
grep dependency_libs libstdc++.la
dependency_libs='
-L/afs/ir.stanford.edu/src/pubsw/languages/gcc-build/sun4x_58/sparc-sun-solaris2.8/libstdc++-v3/src
-L/afs/ir.stanford.edu/src/pubsw/languages/gcc-build/sun4x_58/sparc-sun-solaris2.8/libstdc++-v3/src/.libs
-lm -lm -lm -L/afs/ir.stanford.edu/src/pubsw/languages/gcc-build/sun4x_58/gcc
-L/usr/pubsw/bin -L/usr/pubsw/lib -L/usr/ccs/bin -L/usr/ccs/lib -L/usr/local/lib
-lgcc_s -lgcc_s -lm -lgcc_s -lgcc_s'
grep dependency_libs libgcj.la
dependency_libs='
-L/afs/ir.stanford.edu/src/pubsw/languages/gcc-build/sun4x_58/sparc-sun-solaris2.8/libstdc++-v3/src
-L/afs/ir.stanford.edu/src/pubsw/languages/gcc-build/sun4x_58/sparc-sun-solaris2.8/libstdc++-v3/src/.libs
-L/afs/ir.stanford.edu/src/pubsw/languages/gcc-build/sun4x_58/sparc-sun-solaris2.8/libjava
-lpthread -lrt -ldl
-L/afs/ir.stanford.edu/src/pubsw/languages/gcc-build/sun4x_58/gcc
-L/usr/pubsw/bin -L/usr/pubsw/lib -L/usr/ccs/bin -L/usr/ccs/lib -L/usr/local/lib
-lgcc_s -lgcc_s'
etc. This is totally broken.
--Quanah
--
Summary: local dependencies permeated throughout other libraries
instead of for $prefix/lib
Product: gcc
Version: 3.4.3
Status: UNCONFIRMED
Severity: critical
Priority: P2
Component: libstdc++
AssignedTo: unassigned at gcc dot gnu dot org
ReportedBy: quanah at stanford dot edu
CC: gcc-bugs at gcc dot gnu dot org
GCC build triplet: all platforms
GCC host triplet: all platforms
GCC target triplet: all platforms
http://gcc.gnu.org/bugzilla/show_bug.cgi?id=19962