Upgrading GCC

I’m in the process of porting some Windows C++ code to Linux, and as part of that process I need to upgrade my GCC from 3.4.6 to 4.1.2.  This isn’t too difficult, you just need to emerge the new GCC, tell GCC to use that version, upgrade libtools and then do an emerge system and emerge world.  Easy.

Except for the fact that emerge system and world need to be performed with the
empty tree option.  This means that portage assumes an empty system and as
such emerges everything, which in turn takes ages.  The other problem is that if
anything crashes then it has to start at the very beginning.  I had 881 packages
to emerge in world and all was going well until package number 387 - gtk+.  It
crashed.  I then fixed the problem and re-ran emerge world.  Package 387 -
crash!  Had a proper look through the build log and it seemed that it was looking
for an expat library called libexpat.so.0, checked /usr/lib and there was no such
thing.  One symbolic link later and gtk+ emerged.

I’ve now got to go back to the beginning and emerge all 880 odd packages again!
At the time of writing it’s on 26 and been running for about half an hour, it’s going
to be a long day…….


About this entry