Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 78774 - upgrading from gcc 3.3.4 to 3.3.5 leaves traces of 3.3.4
Summary: upgrading from gcc 3.3.4 to 3.3.5 leaves traces of 3.3.4
Status: RESOLVED INVALID
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: [OLD] Development (show other bugs)
Hardware: All Linux
: High blocker
Assignee: Gentoo Linux bug wranglers
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-01-19 22:43 UTC by Ákos Maróy
Modified: 2005-01-20 08:16 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 Ákos Maróy 2005-01-19 22:43:04 UTC
I'm just on the middle of an emerge -uD world. the emerge has come so far as to upgrade my gcc from 3.3.4 to 3.3.5. but, ever since then, I have problems emerging new packages, with typically the following error reported:

libtool: link: cannot find the library `/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.la'


clearly, there are remaining direct references to gcc 3.3.4 libs. after checking for a while, I found that /etc/env.d/05gcc contained a reference to _both_ 3.3.4 and 3.3.5:

LDPATH="/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5:/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4"

which made /etc/ld.so.conf have /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4 as well. but removing this by hand isn't enough. it seems that a huge amount of .la files in /usr/lib refer directly to 3.3.4, like the following:

# grep "3.3.4" /usr/lib/*.la | head -n 1
/usr/lib/libMagick++.la:dependency_libs=' -L/usr/X11R6/lib -L/usr/lib /usr/lib/libWand.la /usr/lib/libMagick.la -ltiff /usr/lib/libjpeg.la -lXext -lSM -lICE -lX11 -lXt -lbz2 /usr/lib/libltdl.la /usr/lib/libfreetype.la -lz -ldl /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.la -L/usr/i686-pc-linux-gnu/bin -L/usr/i686-pc-linux-gnu/lib -L/usr/lib/gcc-lib/i686-pc-linux-gnu/../../../i686-pc-linux-gnu/lib'


this is very annoying. should I really recompile everything, just because I changed my C compiler? or, as a workaround whould I add a symlink:

/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4 -> /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5

? (this seems an ugly solution)

what is more disturing, that visibly, the new gcc also leaves similar, version-specific traces:

# grep "3.3.5" /usr/lib/*.la | head -n 1
/usr/lib/libImlib.la:dependency_libs=' /usr/lib/libtiff.la /usr/lib/libjpeg.la /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.5/libstdc++.la -L/usr/i686-pc-linux-gnu/bin -L/usr/i686-pc-linux-gnu/lib -L/usr/lib/gcc-lib/i686-pc-linux-gnu/../../../i686-pc-linux-gnu/lib /usr/lib/libungif.la -L/usr/X11R6/lib -lX11 -lpng -lz -lm -lSM -lICE -lXext'


thus I guess the same problem will come up when upgrading from gcc 3.3.5 to another version...

Reproducible: Always
Steps to Reproduce:
1. emerge gcc 3.3.4
2. compile a range of packages with it
3. emerge gcc 3.3.5
4. try to compile pages relying on one compiled with 3.3.4
5. see the errors

Actual Results:  
packages relying on libraries compiled with the earlier version of gcc fail to
compile (link, actually)

Expected Results:  
migration from gcc 3.3.4 to 3.3.5 should not have any effects on being able to
compile packages relying on ones compiled with 3.3.4

# emerge info
Portage 2.0.51-r3 (default-linux/x86/2004.0, gcc-3.3.5, glibc-2.3.4.20040808-r1,
2.6.9-gentoo-r4 i686)
=================================================================
System uname: 2.6.9-gentoo-r4 i686 Intel(R) Pentium(R) M processor 1.80GHz
Gentoo Base System version 1.4.16
distcc 2.16 i686-pc-linux-gnu (protocols 1 and 2) (default port 3632)
[disabled]ccache version 2.3 [enabled]
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/linux26-headers-2.6.8.1-r2
Libtools: sys-devel/libtool-1.5.2-r7
ACCEPT_KEYWORDS="x86"
AUTOCLEAN="yes"
CFLAGS="-march=pentium3 -pipe -O3 -fomit-frame-pointer -frename-registers
-fprefetch-loop-arrays -falign-functions -mmmx -msse2 -msse"
CHOST="i686-pc-linux-gnu"
COMPILER=""
CONFIG_PROTECT="/etc /usr/X11R6/lib/X11/xkb /usr/kde/2/share/config
/usr/kde/3/share/config /usr/lib/mozilla/defaults/pref /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=pentium3 -pipe -O3 -fomit-frame-pointer -frename-registers
-fprefetch-loop-arrays -falign-functions -mmmx -msse2 -msse"
DISTDIR="/usr/portage/distfiles"
FEATURES="autoaddcvs autoconfig ccache distlocks sandbox sfperms"
GENTOO_MIRRORS="http://128.213.5.34/gentoo/ http://mirror.datapipe.net/gentoo
http://mirror.datapipe.net/gentoo
ftp://mirrors.sec.informatik.tu-darmstadt.de/gentoo/"
MAKEOPTS="-j2"
PKGDIR="/usr/portage/packages"
PORTAGE_TMPDIR="/var/tmp"
PORTDIR="/usr/portage"
PORTDIR_OVERLAY=""
SYNC="rsync://rsync.gentoo.org/gentoo-portage"
USE="x86 X aalib acpi acpi4linux alsa apache2 avi berkdb bidi bitmap-fonts
bluetooth bonobo canna caps cdr cjk crypt cscope cups curl dga dhcp directfb
divx4linux doc dri dvd dvdr encode esd f77 fam fbcon flac flash font-server
foomaticdb fortran freewnn gdbm gif gnome gpm gstreamer gtk gtk2 gtkhtml guile
imagemagick imlib ipv6 irda jack java javascript jpeg junit libcaca libg++
libwww mad mbox mikmod mmx motif mozcalendar mozilla mpeg mplayer ncurses nls
nptl objc odbc oggvorbis opengl opie oss pam pcmcia pda pdflib perl pic png pnp
postgres python quicktime radeon readline sdl slang sms speex spell sse sse2 ssl
svg svga tcltk tcpd tetex threads tiff truetype truetype-fonts trusted
type1-fonts unicode usb v4l v4l2 vawelan wifi wmf xinerama xml xml2 xmms xosd xv
xvid zlib video_cards_radeon input_devices_synaptics"
Comment 1 Olivier Crete (RETIRED) gentoo-dev 2005-01-20 08:16:08 UTC
run /sbin/fix_libtool_files.sh 3.3.4