View previous topic :: View next topic |
Author |
Message |
Bob P Advocate
Joined: 20 Oct 2004 Posts: 3355 Location: Jackass! Development Labs
|
Posted: Mon Dec 19, 2005 2:52 am Post subject: GCC 3.4.4 Unauthorized Migration Guide for i686 |
|
|
Bob P's Unauthorized GCC 3.4.4 Migration Guide for i686
Far too many people have been pulling their hair out trying to upgrade their i686 systems from the GCC 3.3.5 compiler included in the standard x86 tarballs to the new "stable" branch GCC 3.4.4 based toolkit.
I thought I'd offer my advice on how to effectively perform the migration on existing i686 systems. This method is based upon Rob Moss method of redundantly rebuilding the system and world files, and is an abbreviated version of my Stage 1/3 Installation Guide.
Believe it or not, the whole prospect of a safe and error-free GCC Migration on i686 is not as complicated as you might think, but it will take some time...
Starting with a functional Gentoo installation using GCC 3.3.5 on a 686-CHOST based x86 system, just do this:
1. Emerge Updated Toolkit Components:
Code: | # emerge gcc-config glibc binutils libstdc++-v3 gcc |
2. Update /etc/make.conf
If you need to make any changes to the contents of make.conf to use flags that are supported by the new version of GCC but not by the old version of GCC, do it now. (Pentium-M users, this is your chance to change the march specification to march=pentium-m).
3. Select the New Default C Compiler
Change the default compiler to gcc 3.4.4.
Code: | # gcc-config i686-pc-linux-gnu-3.4.4 |
4. Update the System Environment
Code: | # source /etc/profile |
5. Rebuild the System Toolkit and World Files
All of these steps are necessary. DO NOT skip any of them!
Code: | # emerge glibc binutils libstdc++-v3 gcc portage && emerge -e system && emerge -e system && emerge -e world && emerge -e world |
6. Prune the Old GCC Compiler
This approach will accomplish a number of things for you:
a. It will take longer than the "official" "safe" method.
b. Your toolkit will be completely and throughly built by itself.
c. All of your World files will be thoroughly rebuilt by the new toolkit.
d. All of your World files will be compiled against world libraries that were completely rebuilt by the new toolkit.
By cutting out any of the steps above (specifically the apparently redundant an unnecessary repeated emerge commands) you will circumvent a complete, thorough and effective system and world rebuild from being performed. Don't do it! Cutting out any of the seemingly unnecessary steps could subject you to bizarre problems caused by the retention of static libraries that are difficult to track down.
This update will take a LONG time to complete, especially on older hardware. Plan on giving your computer alot of time to complete the rebuild step. Have Fun!
At the time that I first post this, its an experimental/untested installation method. If you find any mistakes, please send me a PM so that I can update any typos that might have occurred. This Guide is otherwise UNSUPPORTED.
Thanks! _________________ .
Stage 1/3 | Jackass! | Rockhopper! | Thanks | Google Sucks
Last edited by Bob P on Sat Feb 18, 2006 3:26 pm; edited 1 time in total |
|
Back to top |
|
|
Bob P Advocate
Joined: 20 Oct 2004 Posts: 3355 Location: Jackass! Development Labs
|
Posted: Mon Dec 19, 2005 2:56 am Post subject: |
|
|
For those of you who want to do this with a minimal amount of seat time, some of the steps can be consolidated:
1. Emerge Updated Toolkit Components:
Code: | # emerge gcc-config glibc binutils libstdc++-v3 gcc |
2. Update /etc/make.conf
3. Rebuild
Code: | # gcc-config i686-pc-linux-gnu-3.4.4 && source /etc/profile && emerge glibc binutils libstdc++-v3 gcc portage && emerge -e system && emerge -e system && emerge -e world && emerge -e world && emerge -P gcc |
_________________ .
Stage 1/3 | Jackass! | Rockhopper! | Thanks | Google Sucks |
|
Back to top |
|
|
|
|
You cannot post new topics in this forum You cannot reply to topics in this forum You cannot edit your posts in this forum You cannot delete your posts in this forum You cannot vote in polls in this forum
|
|