March 2017  |  01 02 03 04 05 06 07 08 09 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31

スポンサーサイト

一定期間更新がないため広告を表示しています

CentOS6にC11(GCC)のインストール

JUGEMテーマ:コンピュータ

数年ぶりに、ある知り合いからメールが来た。
C言語の判定文の内容(式)をスクリプト言語のようにリアルタイムで変られないかというような内容だった。
大抵のスクリプト言語を使うと eval()関数を使うことでアドホックな判定分を実装することができるのだけど、
コンパイル言語では、コンパイルとダイナミックロードというのが、一般的なソリューションとなる。
結局そこまでする気はないということだったので、その話はそれでおしまい。

後日談になるけど、CINTというC++言語のインタープリターをご記憶の方もいると思う。CERN(セルン:ヨーロッパ合同原子核研究機関)で開発されていた
調べてみると、CINTはROOTというシステムのインタープリタとして現在もCERNで開発が続いていた。
http://root.cern.ch/drupal/content/cint
※個人的にはDrupalをCMSに使っていたことにも驚いた。

少し古いけど日本語のドキュメントも見つかった。
http://www.dw-sapporo.co.jp/technology/root_cint_dw_documents/root_cint_dw_documents

では、ダウンロードしてインストールしようと思ったのだが。OSはCentOS 6.x。 しかし、C11 準拠の
コンパイラが必要ということでコンパイルできなかった。そこで、C11なるコンパイラをインストール
しなくてはというわけで、C11準拠らしい GCC 4.9 をインストールすることにした。GCC 4.9 をインストール
するには、SVNリポジトリからソースツリーをコピーする必要があるし、そのほか、ライブラリがいくつか
(GMPとMPFRとMPC)と、flex(lex)およびbison(yacc)というツールがエラーメッセージ出たので、
したがってインストールした。
 
# yum install subversion
# yum install gmp-devel
# yum install mpfr-devel
# yum install libmpc
# yum install libmpc-devel
# yum install bison
# yum install flex

そうして、GCC 4.9 をsvnリポジトリからチェックアウトしてインストールする手順は次のとおり。
 
# svn co svn://gcc.gnu.org/svn/gcc/tags/gcc_4_9_0_release gcc
# cd gcc
# ./configure --disable-multilib
# make distclean
# make -i
# make -i install

ここでは、gcc, g++が正しくできることが目的なので、maikeがドキュメント生成のあたりで止まるのを -i オプションを加えて強制的にインストールをした。

注)上記の作業はいずれも、rootアカウントにて作業することを前提で書いている。

とりあえず、ここで一休み。
 

スポンサーサイト

comments

   

trackback

pagetop