- - PR -
gcc323 と gcc296 の切り替え
投稿者 | 投稿内容 | ||||||||
---|---|---|---|---|---|---|---|---|---|
|
投稿日時: 2004-10-28 19:22
こんにちは。
gcc-3.2.3 と gcc-2.9.6 はどうのようにして切り替えるのでしょうか? red hat enterprise linux WS release 3 を使っています。 以下のように gcc を gcc296 へのシンボリックリンクにして対応する以外に 何か方法はあるのでしょうか? mv /usr/bin/gcc /usr/bin/gcc323 ln -s /usr/bin/gcc296 /usr/bin/gcc mv /usr/bin/g++ /usr/bin/g++323 ln -s /usr/bin/g++296 /usr/bin/g++ よろしくお願い致します。 | ||||||||
|
投稿日時: 2004-10-29 01:19
.cshrc とか .profile とかでパスを切り替え。
/bin/gcc が 2.96 で /usr/local/bin/gcc が 3.3 やったら、 PATH=/bin:/sbin:/usr/sbin:/usr/local/bin:/bin export PATH ↑ 故意に /bin より /usr/local/bin をパスの先頭に近い方に連結してる。 そうすると、/usr/local/bin 以下の gcc が優先されるという訳ですわ。 ある意味 First In First Out ? (プ ん〜、いまいち的外れ・・・ | ||||||||
|
投稿日時: 2004-10-29 05:07
どのようにgccがインストールされているのか存じませんが、 man gcc によると -V version とすると起動するバージョンを規定すると書いてあります。 | ||||||||
|
投稿日時: 2004-10-29 11:23
コブラさん、Toshi さん、ありがとうございます。
gcc は rpm でインストールしているので両バージョンが /usr/bin にインストール されています。 コブラさんのおっしゃるとおり /usr/local/bin へ 2.9.6 のシンボリックリンクを 作成して環境変数 PATH で切り替えるのも良いですね。 Toshi さんのおっしゃるとおり -V でも切り替えられる事をインターネットで 調べていたら分かったのですが、Makefile で Open Source のソフトウェアを コンパイルする場合にどのように行えば良いのか分かりません。 Makefile を変更すればよさそうですが、Makefile を変更せずに make を実行する shell で何かできるのでしょうか? 皆さんどのように切り替えているのでしょうか? 引き続き情報をお待ちしております。 宜しくお願い致します。 | ||||||||
|
投稿日時: 2004-10-29 18:01
たとえば Makefile 内で CC のオプションを CCOPTS と言う変数に代入していたなら、 make CCOPTS="-V 2.9.6 そのほか必要なオプション" と指定する。 | ||||||||
|
投稿日時: 2004-10-29 18:33
Toshi さんありがとうございます。
Makefile の中で CC=gcc296 や CCOPTS="-V 2.9.6" 等と指定してみたり 色々と行ってみましたがうまくいきませんでした。 コマンドラインで CC=gcc296 make や CCOPTS="-V 2.9.6" make 等と 行ってみたりもしましたがダメでした。 たまたま Makefile が CC や CCOPTS を参照しないような内容になっているのかもしれ ませんね。 (Makefile の記述がよく分かっていません) /usr/local/bin に gcc296 のシンボリックリンクを作成して PATH を変更して 対応しております...。 | ||||||||
|
投稿日時: 2004-10-29 21:22
Makefile を覗いてみると CFLAGS= といった行は見当たりませんか? これらの変数はmakeの中の変数ですから、makeコマンドの後ろに記述してください。
まあ、終わりよければ全て良しですが… | ||||||||
|
投稿日時: 2004-11-02 10:07
PATH 切り替えも結構面倒臭い。
2.96 の方を gcc, 3.3 の方を cc と、別の名前に rename して 切り替えると、同じディレクトリでもバッティングもしない。 わしの場合、古い版を ccc, よく使う新しい版を cc とリネームして 切り替えてます。 |