On 19/10/2010 19:45, Jarry wrote: > Hi, > I just tried to upgrade gcc (stable amd64, from 4.4.3-r2 > to 4.4.4-r2) following the procedure recommended in Gentoo > GCC Upgrade Guide: > > emerge -uav gcc > > At the end of compilation, I got these strange messages: > ==================================================== >
> in '/etc/env.d/gcc/' > ! > * Running 'fix_libtool_files.sh 4.4.3' > * Scanning libtool files for hardcoded gcc library paths... > cat: ld.so.conf.d/*.conf: No such file or directory > :0: assertion failed: (gcc -dumpversion) | getline NEWVER) >>>> Original instance of package unmerged safely. > * Switching native-compiler to x86_64-pc-linux-gnu-4.4.4 ... > * gcc-config: Active gcc profile is invalid! > * Your gcc has a bug with GCC_SPECS. > * Please re-emerge gcc. > * http://bugs.gentoo.org/68395 > >>>> Regenerating /etc/ld.so.cache... [ ok ] > > * If you intend to use the gcc from the new profile in an already > * running shell, please remember to do: > > > * If you have issues with packages unable to locate libstdc++.la, > * then try running 'fix_libtool_files.sh' on the old gcc versions. > * You might want to review the GCC upgrade guide when moving between > * major versions (like 4.2 to 4.3): > * http://www.gentoo.org/doc/en/gcc-upgrading.xml > >>>> Regenerating /etc/ld.so.cache... >>>> Recording sys-devel/gcc in "world" favorites file... >>>> Auto-cleaning packages... >>>> No outdated packages were found on your system. > > * Regenerating GNU info directory index... > * Processed 7 info files. > ==================================================== > > What does that "invalid profile" mean, and how can I fix it? Well... it means that the active gcc profile is invalid :) You can have several gcc versions installed on your system for a given target arch; each version has an associated profile and you can choose the active one (i.e. which version is run when you type "gcc") by using gcc-config. When you do a regular (i.e. -multislot) gcc upgrade, the active profile must be changed from the old version to the new one; the ebuild should take care of this for you but sometimes it chokes in the process. First you have some warnings about the old profile being broken -- which is expected as you just uninstalled the old gcc version: > * gcc-config: Could not locate 'x86_64-pc-linux-gnu-4.4.3' [...] > * gcc-config: Active gcc profile is invalid! > gcc-config: error: could not run/locate 'gcc' Then the new profile is correctly selected: > * Switching native-compiler to x86_64-pc-linux-gnu-4.4.4 ... It's not clear to me whether the following warnings (let alone the whole "your gcc is broken" scary thing) are caused by the new profile being actually broken or -- more likely -- by the problems encountered when trying to do something with the old profile. Try a simple "gcc -v" in a new shell. If it works, you are fine. If it does not work, try again after doing "gcc-config 1". If it still does not work, well, you're in for lots of fun. HTH, andrea