確認環境:
* Ubuntu 14.04.3
* gcc 4.9.3
gccのように,実行バイナリ自体がライブラリや補助的なファイルへのパスなどパラメータ情報を持っている場合,program-suffix
をバージョン毎に異なる文字列を指定すれば,同一のprefix
にインストールしても独立して使用できる.
環境変数の設定も特に必要が無い場合が多いので,gccを軸にして色々と設定方法を考えてみる.
まず,configureスクリプトで --program-suffix='-4.9'
などを付けて,バージョン毎にバイナリ名を変えておく.
次に(例えば) /opt/local
にそれぞれのgccをインストール.
そして,alternativesで次のように実行する:
sudo update-alternatives \
--install /usr/bin/cc cc /opt/local/bin/gcc-4.9 409 \
--slave /usr/share/man/man1/cc.1.gz cc.1.gz /opt/local/share/man/man1/gcc-4.9.1
c++
も同様に設定する(slaveにした方が良いかも?).
この設定は,build-essential
で(おそらく)インストールされたccに対する設定を参考にした.
gccのようなツールチェインは,異なるバージョンのものをこのようにして簡単に切り替えられるように作られているので,非常に便利.
Boostなどのライブラリも,gccのslaveにすれば良さそう.
TODO
-
alternatives
について- 削除の方法
- 切り替えの方法
- 他のライブラリの設定方法などのサンプル
- Boost
- そもそもこのメモの位置付けがよくわからなくなってきたので,削除するか大々的に変更するかも.