読者です 読者をやめる 読者になる 読者になる

Gentooのgccをバージョンアップする

Linux Gentoo

ある意味Gentooの要とも言えなくないgccを4.7.3から4.8.2にバージョンアップしようとした時のメモ。

基本はGentooのgccアップグレードガイドを読んで実行する。

以下メモ
4.8.2がマスクされていたので使えるようにpackage.keywordsを設定する

# nano /etc/portage/package.keywords
=sys-devel/gcc-4.8*

keywordsを設定したらemergeすればOk

# emerge -uav gcc
Would you like to merge these packages? [Yes/No] y

結構時間がかかるはずなので、適当に艦これでもプレイしながら時間をつぶせばいいでしょう。
emergeが終わったら使用するgccを設定するためにgcc-configを設定する。
gcc-config -lを実行すると使えるgccの一覧が表示されるので、新しいgccの左側にある数字を%gccNum%としてgcc-config %gccNum%を実行すると指定したgccを使うようになるらしい。

# hash -r
# gcc-config -l
 [1] x86_64-pc-linux-gnu-4.7.3 *
 [2] x86_64-pc-linux-gnu-4.8.2
# gcc-config 2
 * Switching native-compiler to x86_64-pc-linux-gnu-4.8.2 ...      [ ok ]
# gcc-config -l
 [1] x86_64-pc-linux-gnu-4.7.3
 [2] x86_64-pc-linux-gnu-4.8.2 *
# env-update
>>> Regenerating /etc/ld.so.cache...
# source /etc/profile
# emerge --oneshot -av libtool

正常にgccを更新できたっぽかったらシステム全体のパッケージを更新する。これもパッケージ数によって結構時間がかかるはず。

# emerge -eav system
# emerge -eav world

これで動作に問題が無ければ古いgccをemerge -aCで削除してもOk。