CentOS 5をプログラミング環境で使う

最新版GCCのインストールと活用

はじめに

 CentOS 5.2の標準パッケージで提供されるGCCのバージョンは4.1.2です。
が、CentOS 5.3から、GCC4.1.2に加えて、GCC 4.3.2が標準パッケージとして提供されるようになりました。ただし、あくまでデフォルトのGCCは4.1.2なので、パッケージ名がgcc43と別名になっている他、コマンド名もgcc43となっています。

参考

GCC 4.1、4.3での新機能について紹介している記事

GCCのインストール(旧)

CentOS 5.3でGCC4.3.2が標準搭載されるようになったので、以下のインストール記事は不要ですが、GCC 4.4以降をインストールする記事に更新するまで残しています。

GCC 4.3.2をインストールします。

必要なライブラリ

GCC 4.3.2のインストールに必要なライブラリが2つ存在ます。

  1. gmp Ver.4.1以上
  2. mpfr Ver.2.3以上

Cent OS 5では、gmp-4.1.4が標準パッケージになっています。

Fedora 10用ソースRPMからgpmおよびmpfrのビルドおよびインストール

Fedora10用にソースRPMが提供されています。これをCentOS上でビルドしてライブラリを使用します。手順はそれぞれ

GCCの展開と設定

入手したGCCのソースを展開します。

work$ tar xvjf gcc-4.3.2.tar.bz2
work$ cd gcc-4.3.2
gcc-4.3.2$

ビルド用ディレクトリを作成し、そこへカレントディレクトリを移動します。

gcc-4.3.2$ mkdir build
gcc-4.3.2$ cd build
build$

configureを実行します。システム標準のGCCが別にあるので、影響しないようインストールディレクトリを設定します。

build$ ../configure --prefix=/usr/local/gcc
    :
build$ 

GCCのコンパイル

コンパイルします。

build$ make CFLAGS='-O2' LIBCFLAGS='-g -O2' \
 LIBCXXFLAGS='-g -O2 -fno-implicit-templates' bootstrap
    :
build$ 

実行ファイルをstripします(オプション)。

build$ strip fixincludes/fixincl gcc/{cc1,cc1obj,cc1plus,collect2,cpp,f951,g++,gcj,gcov, \
 gcov-dump,gfortran,jc1,jcf-dump,jvgenmain,xgcc} i386-pc-linux-gnu/libjava/.libs/{ \
 gappletviewer,gc-analyze,gcj-dbtool,gcjh,gij,gjar,gjarsigner,gjavah,gkeytool,gnative2ascii \
 gorbd,grmic,grmiregistry,gserialver,gtnameserver,jv-convert}
build$ 

インストールします。

build$ make install
    :
build$ 

問題