Welcome to my web page. This page is written in Japanese.
Code is EUC-JP.

GCC - the GNU Compiler Collection

GCC とは

GCC とは、the GNU Compiler Collection と呼ばれる、GNU のコンパイラ群です。
当初は GNU C Compiler (GNU CC) と呼ばれ、主に C 言語のコンパイラでした。 現在は、C 言語コンパイラ (gcc) だけでなく、C++ 言語のコンパイラ (c++, g++)、FORTRAN コンパイラ (g77)、そして Objective-C、Java (gcj)、Ada (gnat) 及びこれらのライブラリが提供されています。
Linux やその他の UNIX 系システムで使われている、最も有名な、 フリーなコンパイラでしょう。

サイトリスト

WEB site
http://www.gnu.org/software/gcc/gcc.html
Primary site
ftp://ftp.gnu.org/gnu/gcc/
Mirror site
ftp://ring.asahi-net.or.jp/pub/GNU/gcc/
ftp://ring.ocn.ad.jp/pub/GNU/gcc/

コンパイル・インストールの注意点

version 2.95

version 3.2.3

version 3.4.6

コンパイル・インストールの手順

GCC のコンパイル・インストールのログは非常に長いです。 ですので、ここでは、私がインストールした際の手順だけをログから抜き出し、 まとめています。 詳細は以下の「コンパイル・インストールのログ」を参照してください。

GCC version 2.95

# ls -l gcc-2.95.tar.gz
# tar xfz gcc-2.95.tar.gz
# cd gcc-2.95
# ls
# mkdir objdir
# cd objdir/
# time ../configure --prefix=/usr/local/gcc-2.95
# vi gcc/Makefile
# diff -u gcc/Makefile~ gcc/Makefile
# time make CFLAGS='-O2' CXXFLAGS='-O2' LIBCFLAGS='-O2' LIBCXXFLAGS='-O2 -fno-implicit-templates' bootstrap
# su
# make install

GCC version 3.2.3

# ls -l
# bzip2 -dc gcc-3.2.3.tar.bz2 | tar xf -
# cd gcc-3.2.3
# ls
# mkdir objdir
# cd objdir/
# ../configure --prefix=/usr/local/gnu --program-suffix=-3.2.3
# time make bootstrap
# su
# make install
# (cd /usr/local/gnu/bin; ln -fs gcc-3.2.3 gcc)
# (cd /usr/local/gnu/bin; ln -fs cpp-3.2.3 cpp)
# (cd /usr/local/gnu/bin; ln -fs c++-3.2.3 c++)
# (cd /usr/local/gnu/bin; ln -fs c++filt-3.2.3 c++filt)
# (cd /usr/local/gnu/bin; ln -fs g77-3.2.3 g77)
# (cd /usr/local/gnu/bin; ln -fs g++-3.2.3 g++)
# ldconfig
# exit

GCC version 3.4.6

# ls -l
# bzip2 -dc gcc-3.4.6.tar.bz2 | tar xf -
# cd gcc-3.4.6
# ls
# mkdir objdir
# cd objdir/
# ../configure --prefix=/usr/local/gnu --program-suffix=-3.4.6
# time make bootstrap
# su
# make install
# (cd /usr/local/gnu/bin; ln -fs gcc-3.4.6 gcc)
# (cd /usr/local/gnu/bin; ln -fs cpp-3.4.6 cpp)
# (cd /usr/local/gnu/bin; ln -fs c++-3.4.6 c++)
# (cd /usr/local/gnu/bin; ln -fs c++filt-3.4.6 c++filt)
# (cd /usr/local/gnu/bin; ln -fs g77-3.4.6 g77)
# (cd /usr/local/gnu/bin; ln -fs g++-3.4.6 g++)
# ldconfig
# exit

コンパイル・インストールのログ