gcc5.3.0をコンパイル、リンク、インストール
Squid3.5がどうも不安定。なんだかときどきエラーを返して、バックエンドへちゃんとリクエストを取り次がないことがある。
yumでredhatのリポジトリから取ってくると、Squid3.1.23になってる。3.1ってもう三年前のブツだけどなぁ。それが安定してるってことなんだろうか。
まぁ戻すのはいつでもできるので、前へすすむことを考えよう。幸いにもSquidにはVersion4がでていて、いま最新は4.0.7。これをコンパイルリンクしようとすると、これもエラーがでる。どうもgccの環境がよくないみたい。
そこでgccの最新版をインストールする。yumではgcc4.8くらいしか入らないので久しぶりにソースからコンパイル、リンクしてみよう。
ソース
ソースはここから入手できます。
https://gcc.gnu.org/mirrors.html
お近くのミラーから。最新は5.3.0ですね。大丈夫かな。
gccを展開
適当なディレクトリへダウンロードしたgcc-5.3.0.tar.gzを展開します。
$ mkdir gcc $ cd gcc $ tar -zxvf /tmp/gcc-5.3.0.tar.gz
次にビルドディレクトリを作成。
$ cd gcc-5.3.0 $ mkdir objdir
gmp,mpfr,mpcを展開
どこでもいいので展開する。ここではさっき作ったgccディレクトリに展開。
$ cd .. $ pwd /home/hoge/gcc $ tar -zxvf /tmp/mpc-1.0.3.tar.gz $ tar -Jxvf /tmp/mpfr-3.1.4.tar.xz $ tar -Jxvf /tmp/gmp-6.1.0.tar.xz
展開したgmp,mpfr,mpcをgccのディレクトリへリンクする
gcc-5.3.0ディレクトリ(ビルドディレクトリの一つ上)へリンクします。
$ cd gcc-5.3.0 $ pwd /home/hoge/gcc/gcc-5.3.0 $ ln -s ../gmp-6.1.0 ./gmp $ ln -s ../mpfr-3.1.4 ./mpfr $ ln -s ../mpc-1.3.0 ./mpc
ビルドディレクトリでconfigure
configureオプションは適当に。既存のgccと併用したいのでprefixは付けずにデフォルトの/usr/localでやりました。それとjavaとかfortlanとか有効にするとよくわからないエラーがでるのでそのオプションも外す。
32bitの開発環境併用していない場合はdiable-multilibもつける。
$ cd objdir ../configure --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-languages=c,c++,objc,obj-c++ --disable-dssi --enable-libgcj-multifile --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux --disable-multilib $ make -j8
インストール
# make install