Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 78560 - libtool .la files retain inconsistent libstdc++ reference after gcc upgrade
Summary: libtool .la files retain inconsistent libstdc++ reference after gcc upgrade
Status: RESOLVED DUPLICATE of bug 73435
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] GCC Porting (show other bugs)
Hardware: All Linux
: High normal (vote)
Assignee: Please assign to toolchain
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-01-18 12:22 UTC by Jordan Ritter
Modified: 2005-07-17 13:06 UTC (History)
0 users

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


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Jordan Ritter 2005-01-18 12:22:47 UTC
Some of the individual libtool *.la files generated (when each libtoolized library is compiled and installed) contain ``dependency_libs'' values that reference version-specific gcc/g++ .la files (specifically, the libstdc++.la file).  

When the toolchain undergoes a version upgrade (3.3.4 to 3.3.5, for instance), these .la files are not updated and thus subsequent compiles of dependent packages fail because their libtool automatically includes their library dependencies' .la files that themselves reference non-existent libtool files (in this case, /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.la).

It is not clear whether this is a bug in manually-included-libtool projects or in the methodology of the .la files, or something else entirely.

To fix this quickly I ran:

for file in /lib/*.la /usr/lib/*.la /usr/kde/3.3/lib/*.la; do perl -pe 's/3.3.4/3.3.5/g' $file > $file.tmp && mv $file.tmp $file; done

Alternatively, a more thorough (but time consuming and burdensome) solution is to recompile all dependencies of the failed package (which in turn updates the relevant .la files with proper paths).  

Reproducible: Always
Steps to Reproduce:
1. emerge gcc major version X (e.g. sys-devel/gcc-3.3.4-r2)
2. build libtool-dependent library(s) that depends on libstdc++ (something that generates a .la when installed, e.g. media-video/avifile-0.7.41.20041001-r1)
3. build libtool-dependent program(s) that depend on the library(s) from 2 (e.g. app-cdr/k3b-0.11.17)
4. upgrade gcc to a new major version Y (e.g. sys-devel/gcc-3.3.5-r1)
5. upgrade(or rebuild?) program(s) dependent on library(s) from 2 (e.g. app-cdr/k3b-0.11.18)


Actual Results:  
emerge of k3b failed due to missing link file (/usr/lib/gcc-lib/i686-pc-linux-
gnu/3.3.4/libstdc++.la)

Expected Results:  
emerge should have completed successfully

Portage 2.0.51-r3 (default-linux/x86/2004.2, gcc-3.3.5, glibc-2.3.4.20040808-r1, 
2.6.10 i686)
=================================================================
System uname: 2.6.10 i686 Intel(R) Pentium(R) M processor 2.00GHz
Gentoo Base System version 1.4.16
Autoconf: sys-devel/autoconf-2.59-r5
Automake: sys-devel/automake-1.8.5-r1
Binutils: sys-devel/binutils-2.15.92.0.2-r1
Headers:  sys-kernel/linux-headers-2.4.21-r1
Libtools: sys-devel/libtool-1.5.2-r7
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer -fstack-protector"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config /usr/kde/3.
3/env /usr/kde/3.3/share/config /usr/kde/3.3/shutdown /usr/kde/3/share/config /
usr/share/config /usr/share/texmf/dvipdfm/config/ /usr/share/texmf/dvips/config/ 
/usr/share/texmf/tex/generic/config/ /usr/share/texmf/tex/platex/config/ /usr/
share/texmf/xdvi/ /var/qmail/control"
CONFIG_PROTECT_MASK="/etc/gconf /etc/terminfo /etc/env.d"
CXXFLAGS="-march=pentium4 -O3 -pipe -fomit-frame-pointer -fstack-protector"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="http://gentoo.osuosl.org http://distro.ibiblio.org/pub/Linux/
distributions/gentoo"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.namerica.gentoo.org/gentoo-portage"
USE="X acpi alsa arts avi berkdb bitmap-fonts cdr crypt cups dbm dvd emacs 
encode f77 fam flac font-server foomaticdb fortran gdbm gif iconv imagemagick 
ipv6 jpeg kde libg++ libwww mad mbox mikmod mmx mpeg ncurses nls oci8 oggvorbis 
opengl oss pam pcmcia pdflib perl png python qt quicktime readline samba sdl 
sockets sse ssl sysvipc tcpd tetex tiff truetype truetype-fonts type1-fonts usb 
userlocales x86 xine xinerama xml2 xv zlib"
Comment 1 SpanKY gentoo-dev 2005-01-18 14:44:53 UTC

*** This bug has been marked as a duplicate of 73435 ***