Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 114987 - Gentoo Linux GCC Upgrade Guide: procedure lacks a step (libstdc++-v3)
Summary: Gentoo Linux GCC Upgrade Guide: procedure lacks a step (libstdc++-v3)
Status: RESOLVED INVALID
Alias: None
Product: [OLD] Docs-user
Classification: Unclassified
Component: Other (show other bugs)
Hardware: All Linux
: High critical (vote)
Assignee: Docs Team
URL: http://www.gentoo.org/doc/en/gcc-upgr...
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2005-12-09 07:46 UTC by Christian Andreetta (RETIRED)
Modified: 2005-12-15 07:18 UTC (History)
1 user (show)

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 Christian Andreetta (RETIRED) gentoo-dev 2005-12-09 07:46:59 UTC
I've chosen severity=critical because literally following the steps suggested
results in a library broken system: the "emerge sys-libs/libstdc++-v3" command
must be executed both before and after the change of the default compiler.

Infact in section 3 ("Upgrading from GCC-3.3 to 3.4") both the quick and the
slow method lack a warning: if you do the gcc-config change of default compiler,
you must have already installed the sys-libs/libstdc++-v3. You can't install it
later, because the library cache in ld.so.conf and ld.so.cache miss the
necessary library required by python: emerge will not even load the interpreter,
halting with a 'libstdc++.so.5: file or directory unavailable'.
Should you arrive at this point, only
1) manual editing of ld.so.conf restoring the 3.3.x values and
2) ldconfig -v
can recover the old environment to emerge the required package.

Or did I miss something?
Comment 1 UncleOwen 2005-12-09 10:22:01 UTC
If you still have gcc-3.3 installed, you don't need libstdc++ _at all_.
Comment 2 Mark Loeser (RETIRED) gentoo-dev 2005-12-09 17:25:28 UTC
I guess a call to ldconfig should be thrown in there to update the cache.  If
you follow the directions, python should not be linked to libstdc++.so.5, but
ld.so.cache won't be updated after libstdc++-v3 is merged, so there _could_ be
some breakage I guess.
Comment 3 Jan Kundrát (RETIRED) gentoo-dev 2005-12-12 08:49:49 UTC
Portage should call env_update() at the end of every merge() or unmerge(), at   
least that's what I've read from the sources. env_update() should call   
`ldconfig` if needed.  
  
Anyway, feel free to reopen if you reproduce it.  
Comment 4 Christian Andreetta (RETIRED) gentoo-dev 2005-12-15 07:18:38 UTC
Reproduced, but it was due to an error.
The old hardware system I tested with had the old toolchain compiled with a i386
CHOST (stage3-2005-r1), and the new gcc with a i586 mcpu.
Then, after a gcc-config swith, the ldconfig in env-update caused the loss of
the i386 libraries location.