今日の一言
2009/12/08(Tue) その前に課題を片付けなければ! [長年日記] 4:30現在曇 9℃
_ [FC][Ubuntu][Linux][プロジェクト実習][研究関係]複数のgccを切り替えて使う(alternatives)
時に、gccのバージョンによってコンパイルできないプログラムがある。
その場合、下手に色々いじるよりは、複数のgccを入れた方が手っ取り早い。(gcc4.0系と3.4とかで意外とよく起きる問題だったりするし)
その場合、
# rm /usr/bin/gcc # ln -s /usr/bin/gcc-3.4 /usr/bin/gcc
として直接シンボリックリンク自体を張り替えてもいいのだが、ここでは「update-alternatives」を使う方法を述べる。
*update-alternatives は、以前にJAVAの切り替えでも使った/usr/sbin/alternativesへのシンボリックリンク。
元々はDebian系のツールだったらしいが、今はRedhat系にも移植されているらしいので、意外と使える。
実はいろいろと面白い使い方が出来そうなツールだが、ここでは詳細は省き、とりあえずの使い方だけ説明する。
まず、alternativesのグループにプログラムを追加する。
指定の仕方は、
# update-alternatives --install 実行リンク グループ名 プログラムパス 優先度
優先度とかは別に好みで決めればいいと思う。ここでは、とりあえず新しいバージョンを優先するとして、
# update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-3.4 34 # update-alternatives --install /usr/bin/gcc gcc /usr/bin/gcc-4.1 41 # update-alternatives --install /usr/bin/cpp cpp /usr/bin/cpp-3.4 34 # update-alternatives --install /usr/bin/cpp cpp /usr/bin/cpp-4.1 41
とでもしておく。
で、
# update-alternatives --config gcc
と入力すると選択画面が現れるので、変更したいgccのSelection番号を入力すれば切り替えることが出来る。(gccの場合、訳分からんことになりそうなので、一緒にcppも変更する事をおすすめする)
で、グループに追加済みのプログラムをグループから削除したい場合は、
# update-alternatives --remove グループ名 プログラムパス
てな感じで指定する。
基本的にはこれでOK。
詳しい使い方を知りたい場合は、ココ(http://blog.eni.co.jp/tech/2009/08/update-alternatives.html#about_alternatives)とかを参考にするのがいいと思われ。
[TrackBack URL: http://akihiro-i.net/~akihiro-i/diary/tb.rb/20091208]