OK, I try to follow the instructions, here's an account.
Step 1 - re-emerge binutils and gcc only:
which yielded:
Code: Select all
>>> Original instance of package unmerged safely.
* The current gcc config appears valid, so it will not be
* automatically switched for you. If you would like to
* switch to the newly installed gcc version, do the
* following:
* gcc-config i686-pc-linux-gnu-4.1.1
* source /etc/profile
* Switching cross-compiler to i386-pc-linux-gnu-3.3.6 ...
>>> 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:
* # source /etc/profile
* If you have issues with packages unable to locate libstdc++.la,
* then try running 'fix_libtool_files.sh' on the old gcc versions.
>>> Regenerating /etc/ld.so.cache...
>>> sys-devel/gcc-4.1.1 merged.
>>> No packages selected for removal by clean.
>>> Auto-cleaning packages...
>>> No outdated packages were found on your system.
* Regenerating GNU info directory index...
* Processed 174 info files.
Step 2 - check if some dead rats are still hanging around in /etc/env.d/ :
Code: Select all
tux ~ # cd /etc/env.d/
tux env.d # grep 686 *
05binutils:MANPATH=/usr/share/binutils-data/i686-pc-linux-gnu/2.16.1/man
05binutils:INFOPATH=/usr/share/binutils-data/i686-pc-linux-gnu/2.16.1/info
05binutils:LDPATH=/usr/i686-pc-linux-gnu/lib
tux env.d # grep 586 *
tux env.d # grep 386 *
05gcc:PATH="/usr/i386-pc-linux-gnu/gcc-bin/3.3.6"
05gcc:ROOTPATH="/usr/i386-pc-linux-gnu/gcc-bin/3.3.6"
05gcc:MANPATH="/usr/share/gcc-data/i386-pc-linux-gnu/3.3.6/man"
05gcc:INFOPATH="/usr/share/gcc-data/i386-pc-linux-gnu/3.3.6/info"
05gcc:LDPATH="/usr/lib/gcc-lib/i386-pc-linux-gnu/3.3.6:/usr/lib/gcc/i386-pc-linux-gnu/3.4.6:/usr/lib/gcc/i386-pc-linux-gnu/4.1.1"
05gcc-i586-pc-linux-gnu:PATH="/usr/i386-pc-linux-gnu/gcc-bin/3.3.6"
05gcc-i586-pc-linux-gnu:ROOTPATH="/usr/i386-pc-linux-gnu/gcc-bin/3.3.6"
05gcc-i686-pc-linux-gnu:PATH="/usr/i386-pc-linux-gnu/gcc-bin/3.3.6"
05gcc-i686-pc-linux-gnu:ROOTPATH="/usr/i386-pc-linux-gnu/gcc-bin/3.3.6"
20java:LDPATH="/opt/blackdown-jdk-1.4.2.03/jre/lib/i386/: /opt/blackdown-jdk-1.4.2.03/jre/lib/i386/native_threads/: /opt/blackdown-jdk-1.4.2.03/jre/lib/i386/client/: /opt/blackdown-jdk-1.4.2.03/jre/lib/i386/server/"
Step 3 - do as emerge suggested in Setp 1:
Code: Select all
tux env.d # gcc-config i686-pc-linux-gnu-4.1.1
which yielded:
Code: Select all
* Switching native-compiler to i686-pc-linux-gnu-4.1.1 ...
>>> 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:
* # source /etc/profile
Step 4 - follow the above piece of advice:
Step 5 - redo Step 2 (checking for dead rats):
Code: Select all
tux env.d # grep 686 *
05binutils:MANPATH=/usr/share/binutils-data/i686-pc-linux-gnu/2.16.1/man
05binutils:INFOPATH=/usr/share/binutils-data/i686-pc-linux-gnu/2.16.1/info
05binutils:LDPATH=/usr/i686-pc-linux-gnu/lib
05gcc:PATH="/usr/i686-pc-linux-gnu/gcc-bin/4.1.1"
05gcc:ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/4.1.1"
05gcc:MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/man"
05gcc:INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/info"
05gcc:LDPATH="/usr/lib/gcc/i686-pc-linux-gnu/4.1.1"
tux env.d # grep 386 *
05gcc-i586-pc-linux-gnu:PATH="/usr/i386-pc-linux-gnu/gcc-bin/3.3.6"
05gcc-i586-pc-linux-gnu:ROOTPATH="/usr/i386-pc-linux-gnu/gcc-bin/3.3.6"
05gcc-i686-pc-linux-gnu:PATH="/usr/i386-pc-linux-gnu/gcc-bin/3.3.6"
05gcc-i686-pc-linux-gnu:ROOTPATH="/usr/i386-pc-linux-gnu/gcc-bin/3.3.6"
20java:LDPATH="/opt/blackdown-jdk-1.4.2.03/jre/lib/i386/: /opt/blackdown-jdk-1.4.2.03/jre/lib/i386/native_threads/: /opt/blackdown-jdk-1.4.2.03/jre/lib/i386/client/: /opt/blackdown-jdk-1.4.2.03/jre/lib/i386/server/"
Ah, the situation starts looking encouragingly like that described in amne's mini howto, so I resume from there.
Step 6 - remove the dead rats:
Code: Select all
tux env.d # rm 05gcc-i586-pc-linux-gnu
tux env.d # rm 05gcc-i686-pc-linux-gnu
Step 7 - checking binutils:
Code: Select all
tux env.d # cd binutils
tux binutils # ls -la
total 9
drwxr-xr-x 2 root root 128 Sep 6 21:22 .
drwxr-xr-x 5 root root 1120 Sep 6 23:16 ..
-rw-r--r-- 1 root root 15 Sep 6 21:22 config-i686-pc-linux-gnu
-rw-r--r-- 1 root root 126 Sep 6 21:22 i686-pc-linux-gnu-2.16.1
tux binutils # cat config-i686-pc-linux-gnu
CURRENT=2.16.1
tux binutils # cat i686-pc-linux-gnu-2.16.1
TARGET="i686-pc-linux-gnu"
VER="2.16.1"
LIBPATH="/usr/lib/binutils/i686-pc-linux-gnu/2.16.1"
FAKE_TARGETS="i686-pc-linux-gnu"
OK, everything as per the mini howto
Step 8 - check gcc:
Code: Select all
tux binutils # cd /etc/env.d/gcc
tux gcc # ls -la
total 58
drwxr-xr-x 2 root root 704 Sep 6 22:45 .
drwxr-xr-x 5 root root 1120 Sep 6 23:16 ..
-rw-r--r-- 1 root root 32 Sep 6 22:50 config
-rw-r--r-- 1 root root 32 Sep 6 00:18 config-i586-pc-linux-gnu
-rw-r--r-- 1 root root 32 Sep 6 22:45 config-i686-pc-linux-gnu
-rw-r--r-- 1 root root 296 Sep 6 2005 i386-pc-linux-gnu-3.3.6
-rw-r--r-- 1 root root 364 Sep 6 2005 i386-pc-linux-gnu-3.3.6-hardened
-rw-r--r-- 1 root root 369 Sep 6 2005 i386-pc-linux-gnu-3.3.6-hardenednopie
-rw-r--r-- 1 root root 372 Sep 6 2005 i386-pc-linux-gnu-3.3.6-hardenednopiessp
-rw-r--r-- 1 root root 369 Sep 6 2005 i386-pc-linux-gnu-3.3.6-hardenednossp
-rw-r--r-- 1 root root 292 Aug 29 22:43 i386-pc-linux-gnu-3.4.6
-rw-r--r-- 1 root root 356 Aug 29 22:43 i386-pc-linux-gnu-3.4.6-hardened
-rw-r--r-- 1 root root 361 Aug 29 22:43 i386-pc-linux-gnu-3.4.6-hardenednopie
-rw-r--r-- 1 root root 364 Aug 29 22:43 i386-pc-linux-gnu-3.4.6-hardenednopiessp
-rw-r--r-- 1 root root 361 Aug 29 22:43 i386-pc-linux-gnu-3.4.6-hardenednossp
-rw-r--r-- 1 root root 292 Sep 6 22:45 i686-pc-linux-gnu-4.1.1
Mmmm doesn't look good....
Step 9 - check config files:
Code: Select all
tux gcc # cat config
CURRENT=i686-pc-linux-gnu-4.1.1
tux gcc # cat config-i586-pc-linux-gnu
CURRENT=i386-pc-linux-gnu-3.3.6
tux gcc # cat config-i686-pc-linux-gnu
CURRENT=i386-pc-linux-gnu-3.3.6
tux gcc # cat i686-pc-linux-gnu-4.1.1
PATH="/usr/i686-pc-linux-gnu/gcc-bin/4.1.1"
ROOTPATH="/usr/i686-pc-linux-gnu/gcc-bin/4.1.1"
LDPATH="/usr/lib/gcc/i686-pc-linux-gnu/4.1.1"
GCCBITS="32"
MANPATH="/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/man"
INFOPATH="/usr/share/gcc-data/i686-pc-linux-gnu/4.1.1/info"
STDCXX_INCDIR="g++-v4"
Looks almost as amne's mini howto...
Step 10 - remove dead rats:
Code: Select all
tux gcc # rm config-i586-pc-linux-gnu
tux gcc # rm config-i686-pc-linux-gnu
tux gcc # rm i386-pc-linux-gnu-3.*
tux gcc # ls -la
total 9
drwxr-xr-x 2 root root 112 Sep 6 23:43 .
drwxr-xr-x 5 root root 1120 Sep 6 23:16 ..
-rw-r--r-- 1 root root 32 Sep 6 22:50 config
-rw-r--r-- 1 root root 292 Sep 6 22:45 i686-pc-linux-gnu-4.1.1
Step 11 - run update and check everything is sane:
Code: Select all
tux gcc # env-update && source /etc/profile
>>> Regenerating /etc/ld.so.cache...
tux gcc # grep 586 /etc/env.d/
tux gcc # grep 386 /etc/env.d/
tux gcc #
Step 12 - re-emerge libtool:
Step 13 - fix libtool:
Code: Select all
tux gcc # fix_libtool_files.sh 4.1.1 --oldarch i386-pc-linux-gnu
...
tux gcc # fix_libtool_files.sh 4.1.1 --oldarch i586-pc-linux-gnu
Step 14 - emerge glibc:
It seems to be working. I'll post the results tomorrow as I'm going to sleep.
Goodnight.
Back to the post:
So, I finally managed to successfully emerge glibc!!
I then tried to
but it stopped at some point (I don't recall what package could not be emerged).
I then made
which was probably not not needed but, hey! you never know and then
Code: Select all
tux gcc # emerge --resume --skipfirst
which is the action I will reiterate in case some other package fails to emerge.
That's all, thanks a lot to you all for your unwavering support!!
Ciao
Edit: Added some spaces to the LDPATH lines so they don't break the pagelayout. --Maedhros