
Ubuntu日本語フォーラム

ログインしていません。
[目的]
C++0xの勉強のためにgccの4.4を使いたい
4.4は頻繁に更新されるが、更新毎のgccを取っておいて検証に使いたい
[現状]
gcc 4.4 20081219はビルドできて、「make install」しました。
「gcc -v」で4.4と表示されます。
これは「/usr/local/bin/gcc」を呼び出しているようです。
[教えて頂きたいこと]
今後バージョン違いのgccを共存させる方法を教えてください。
Linux初心者なのでどのような方法が定石か分からず困っています。
考えたのは「/usr/local/bin/gcc」を「/usr/local/bin/gcc-4.420081219」とリネームし、「/usr/local/bin/gcc」はgcc-4.420081219へのリンクとする。
4.4の新バージョンが出た場合は同じように「/usr/local/bin/gcc-4.4200xxxxx」とリネームし、gccは使いたいバージョンへのリンクとする。
この方法で問題ないでしょうか?
オフライン
gcc の別バージョンを make install した場合は,前バージョンは完全な形で残されるので何も心配いりません.
私は玄箱Pro (architecture = ARM)で,何度か gcc をソースからインストールしてます.
$ ls /usr/bin/*-gcc-*
/usr/bin/arm-linux-gnueabi-gcc-4.2.4 /usr/bin/arm-linux-gnueabi-gcc-4.3.2 /usr/bin/arm-none-linux-gnueabi-gcc-3.4.4
とバージョンの違い,また configure オプションの違いによる gcc がそれぞれ別の名で /usr/bin にインストールされています.ライブラリやヘッダーファイルも
$ ls /usr/lib/gcc/arm-linux-gnueabi/
4.2.4 4.3.2
$ ls /usr/libexec/gcc/arm-linux-gnueabi/
4.2.4 4.3.2
のように分類されて全て残されます.実際のところ,あまりに多くなりすぎて手作業で掃除しました.
使い分けは,GNU 標準の configure & make のスタイルならば,環境変数 CC を設定して,
$ export CC=arm-linux-gnueabi-gcc-4.2.4
$ configure
$ make
で,特定のバージョンの gcc を使ってくれます.
追加:
と,書いたところで gcc 4.4 の開発版を使いたいと言うことに気づきました.
頻繁に更新する開発版のバージョンづけについては正直知りません.
$ ls /usr/local/bin/*gcc*
で確認下さい.
最後の編集者: einundzwanzighundertsechs (2009-01-05 19:47:54)
オフライン
確認したところ、4.3は/usr/lib/gcc/x86_64-linux-gnu以下にありましたが
4.4開発版は/usr/local/lib/gcc/x86_64-linux-gnuにありました。
細かいビルド毎には分かれていないのでそのまま新しいバージョンを入れると上書きそうですね。
安定版のバージョン分けについても知りたかったので非常に助かりました。
ありがとうございました。
オフライン