Last weekend the Gentoo folks marked GCC 3.4.4 as stable. Since there are C++ incompatibilities the move to 3.4.4 involves quite a bit of compilation. Fortunately there is a migration guide. This eased the transition somewhat. It took me until today to complete the migration for 3 systems on which I’m running Gentoo Linux. I took as much advantage of binary packages as I could but it still took these 4 days (this included recompilation of OpenOffice 2.0).
Main problems were, that the migration guide only described how to find and fix the dependencies concerning libstdc++ and not that there are possibly other C++ libraries, which needed rebuilding as well and that revdep-rebuild didn’t get the rebuilding order of all packages correct (which is basically the correct behaviour, since I was only looking for libstc++ dependencies). One example for the first case is, that revdep-rebuild reported, that the package festival needed rebuilding. However festival is linked against a C++ library from the speech-tools, which is not directly linked against libstc++. So it took a couple of restarts, until I found, that I needed to rebuild the speech-tools as well before I could successfully build festival. An example for the building order problem is, that both showimg and digikam were reported as be to rebuild by revdep-rebuild, showimg first. However since showimg uses libraries from digikam it needed to be compiled after digikam. So, the complete rebuilding process required a bit of manual intervention to get everything compiled.
The last problem, which took a bit search searching, was with libtool. I rebuild the sg3_utils package several times, each time finding that it was still linked against the older libstc+++.so.5 instead of the new version 6 libraries. I fixed this in the end by reemerging the libtool with the new compiler. The migration guide mentions the utility /sbin/fix_libtool_files.sh in the “Hints and problems” section, which might have fixed this, but I didn’t think of it until I already had libtool reinstalled.
So I’m all set now, including successful kernel rebuilds.