Gentoo Linuxでいつものように、
# emerge -Duvt --newuse world # emerge -Duv --newuse world
なんてことをしていたら
grep: /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.la: No such file or directory /bin/sed: can't read /usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.la: No such file or directory libtool: link: `/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.la' is not a valid libtool archive make[4]: *** [libpixbufloader-tiff.la] Error 1 make[4]: Leaving directory `/var/tmp/portage/gtk+-2.4.14/work/gtk+-2.4.14/gdk-pixbuf' make[3]: *** [all-recursive] Error 1 make[3]: Leaving directory `/var/tmp/portage/gtk+-2.4.14/work/gtk+-2.4.14/gdk-pixbuf' make[2]: *** [all] Error 2 make[2]: Leaving directory `/var/tmp/portage/gtk+-2.4.14/work/gtk+-2.4.14/gdk-pixbuf' make[1]: *** [all-recursive] Error 1 make[1]: Leaving directory `/var/tmp/portage/gtk+-2.4.14/work/gtk+-2.4.14' make: *** [all] Error 2 !!! ERROR: x11-libs/gtk+-2.4.14 failed. !!! Function src_compile, Line 78, Exitcode 2 !!! (no error message) !!! If you need support, post the topmost build error, NOT this status message.
とgtk+のコンパイルで失敗するようになってしまい、たしかにちょいと前にgccが3.3.5になったからお探しの「/usr/lib/gcc-lib/i686-pc-linux-gnu/3.3.4/libstdc++.la」なんてものは見つからないわけだけど、「libtool: link: 〜」ってあるから、
# emerge libtool
で再度libtoolをインストールしてみたのだけどダメ。もしやと思い、
# env-update && source /etc/profile
なんてこともしたが意味なし。ここでようやくWebで検索してみたところ、
http://www.gentooforum.de/thread.php?threadid=4068
にあるドイツなGentooフォーラムのイッヒやグーテンやモルゲンの森の中に「fix_libtool_files.sh」というファイル名を発見。
# 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 # fix_libtool_files.sh 3.3.4 * Scanning libtool files for hardcoded gcc library paths... * Scanning /lib... * Scanning /usr/lib... * FIXING: /usr/lib/libtiff.la ... [v] * FIXING: /usr/lib/gdk-pixbuf/loaders/libpixbufloader-tiff.la ... [v] * FIXING: /usr/lib/libgmpxx.la ... [v] * FIXING: /usr/lib/libMagick++.la ... [v] * FIXING: /usr/lib/galeon/components/libgaleon-xpcom.la ... [v] * FIXING: /usr/lib/python2.3/site-packages/_lcms.la ... [v] * FIXING: /usr/lib/libSDL.la ... [v] * Scanning /opt/blackdown-jdk-1.4.2.01/jre/lib/i386... * Scanning /usr/X11R6/lib... * Scanning /usr/games/lib... * Scanning /usr/local/lib... * Scanning /usr/qt/3/lib...
うまくいきましたとさ。