Skip to content

gccの構築

Ryota Shioya edited this page Mar 24, 2022 · 2 revisions

dst/開発環境/gcc/gccの構築.md

手順

  • gmp,mpfr,mpc(4.5.1以降で必要) の導入
    • システムに必要なバージョンが導入されている場合,不要
  • gcc の構築

環境設定

PREFIX=~/opt/gcc/gcc-4.4.0-x64
export PATH=${PREFIX}/bin:${PATH}
export PREFIX_HOST_LIB=${PREFIX}/host-lib

GMP

../configure \
--prefix=${PREFIX_HOST_LIB} 
make
make install

MPFR

../configure \
--prefix=${PREFIX_HOST_LIB} \
--with-gmp=${PREFIX_HOST_LIB} 
make
make install

MPC

../configure \
--prefix=${PREFIX_HOST_LIB} \
--with-gmp=${PREFIX_HOST_LIB} \
--with-mpfr=${PREFIX_HOST_LIB} 
make
make install

GCC

../configure \
--prefix=${PREFIX} \
--enable-languages=c,c++,fortran \
--with-gmp-include=${PREFIX_HOST_LIB}/include \
--with-gmp-lib=${PREFIX_HOST_LIB}/lib \
--with-mpfr-include=${PREFIX_HOST_LIB}/include \
--with-mpfr-lib=${PREFIX_HOST_LIB}/lib
--with-mpc-include=${PREFIX_HOST_LIB}/include \
--with-mpc-lib=${PREFIX_HOST_LIB}/lib

make
make install
  • gmp,mpfr を独自に導入した場合,GCC の構築中に共有ライブラリのロードに失敗する場合がある
    • --with-gmp-lib/--with-mpfr-lib が完全には機能していない模様
  • ${PREFIX_HOST_LIB}/lib 以下のgmp,mpfr 関連の.so を削除してからGCCの構築を行うとよい
    • こうすることで,強制的に静的リンクされる
    • LDFLAGS 等に-staticを指定しただけでは,GCC構築用のGCC のコンパイルには使用されないため,うまくいかない

構築履歴

2009/7/9 gcc 4.3.3/4.4.0

上記の手順で構築可能なことを確認

Clone this wiki locally