Handling problematic GCC in Gentoo ;-)
almuqaddis ~ # gcc-config -l
[1] i686-pc-linux-gnu-3.3.5 *
[2] i686-pc-linux-gnu-3.3.5-hardened
[3] i686-pc-linux-gnu-3.3.5-hardenednopie
[4] i686-pc-linux-gnu-3.3.5-hardenednossp
[5] i686-pc-linux-gnu-3.4.4
[6] i686-pc-linux-gnu-3.4.4-hardened
[7] i686-pc-linux-gnu-3.4.4-hardenednopie
[8] i686-pc-linux-gnu-3.4.4-hardenednopiessp
[9] i686-pc-linux-gnu-3.4.4-hardenednossp
almuqaddis ~ # gcc-config 5
* Switching to i686-pc-linux-gnu-3.4.4 compiler ... [ ok ]
* If you intend to use the gcc from the new profile in an already
* running shell, please remember to do:
* # source /etc/profile
almuqaddis ~ # . /etc/profile
almuqaddis ~ # fix_libtool_files.sh
Usage: fix_libtool_files.sh [--oldarch ]
Where is the version number of the
previous gcc version. For example, if you updated to
gcc-3.2.1, and you had gcc-3.2 installed, run:
# fix_libtool_files.sh 3.2
If you updated to gcc-3.2.3, and the old CHOST was i586-pc-linux-gnu
but you now have CHOST as i686-pc-linux-gnu, run:
# fix_libtool_files.sh 3.2 --oldarch i586-pc-linux-gnu
Note that if only the CHOST and not the version changed, you can run
it with the current version and the '--oldarch' arguments,
and it will do the expected:
# fix_libtool_files.sh `gcc -dumpversion` --oldarch i586-pc-linux-gnu
almuqaddis ~ # fix_libtool_files.sh 3.4
* Scanning libtool files for hardcoded gcc library paths...
* [1/9] Scanning /lib ...
* [2/9] Scanning /usr/lib ...
* FIXING: /usr/lib/libtunepimp.la ...[]
* FIXING: /usr/lib/gnome-vfs-2.0/modules/libfile.la ...[]
* FIXING: /usr/lib/libfam.la ...[]
* [3/9] Scanning /opt/blackdown-jdk-1.4.2.01/jre/lib/i386 ...
* [4/9] Scanning /usr/games/lib ...
* [5/9] Scanning /usr/i686-pc-linux-gnu/lib ...
* [6/9] Scanning /usr/kde/3.3/lib ...
* [7/9] Scanning /usr/kde/3.4/lib ...
* [8/9] Scanning /usr/local/lib ...
* [9/9] Scanning /usr/qt/3/lib ...
almuqaddis ~ # gcc-config -l
[1] i686-pc-linux-gnu-3.3.5 *
[2] i686-pc-linux-gnu-3.3.5-hardened
[3] i686-pc-linux-gnu-3.3.5-hardenednopie
[4] i686-pc-linux-gnu-3.3.5-hardenednossp
[5] i686-pc-linux-gnu-3.4.4
[6] i686-pc-linux-gnu-3.4.4-hardened
[7] i686-pc-linux-gnu-3.4.4-hardenednopie
[8] i686-pc-linux-gnu-3.4.4-hardenednopiessp
[9] i686-pc-linux-gnu-3.4.4-hardenednossp
almuqaddis ~ # gcc-config 5
* Switching to i686-pc-linux-gnu-3.4.4 compiler ... [ ok ]
* If you intend to use the gcc from the new profile in an already
* running shell, please remember to do:
* # source /etc/profile
almuqaddis ~ # . /etc/profile
almuqaddis ~ # fix_libtool_files.sh
Usage: fix_libtool_files.sh
Where
previous gcc version. For example, if you updated to
gcc-3.2.1, and you had gcc-3.2 installed, run:
# fix_libtool_files.sh 3.2
If you updated to gcc-3.2.3, and the old CHOST was i586-pc-linux-gnu
but you now have CHOST as i686-pc-linux-gnu, run:
# fix_libtool_files.sh 3.2 --oldarch i586-pc-linux-gnu
Note that if only the CHOST and not the version changed, you can run
it with the current version and the '--oldarch
and it will do the expected:
# fix_libtool_files.sh `gcc -dumpversion` --oldarch i586-pc-linux-gnu
almuqaddis ~ # fix_libtool_files.sh 3.4
* Scanning libtool files for hardcoded gcc library paths...
* [1/9] Scanning /lib ...
* [2/9] Scanning /usr/lib ...
* FIXING: /usr/lib/libtunepimp.la ...[]
* FIXING: /usr/lib/gnome-vfs-2.0/modules/libfile.la ...[]
* FIXING: /usr/lib/libfam.la ...[]
* [3/9] Scanning /opt/blackdown-jdk-1.4.2.01/jre/lib/i386 ...
* [4/9] Scanning /usr/games/lib ...
* [5/9] Scanning /usr/i686-pc-linux-gnu/lib ...
* [6/9] Scanning /usr/kde/3.3/lib ...
* [7/9] Scanning /usr/kde/3.4/lib ...
* [8/9] Scanning /usr/local/lib ...
* [9/9] Scanning /usr/qt/3/lib ...
Comments