たまたま余っていたCentOS5.11のサーバにpython2.7.12をインストールし、pylabをインストールしようとするとエラー。
error: ‘SOCK_CLOEXEC’ was not declared in this scope error: command 'gcc' failed with exit status 1
どうもOSが古いと色々問題があります。
そこでこちらを参考にGCCをインストールします
ダウンロード
以下のサイトからダウンロードします。とりあえず最新版をダウンロードしました。
コンパイル
# mkdir /usr/local/gcc-4.8.5 # export LD_LIBRARY_PATH=/usr/local/gcc-4.8.5/lib:$LD_LIBRARY_PATH
# bunzip2 gmp-6.1.1.tar.bz2 # tar xvfp gmp-6.1.1.tar # cd gmp-6.1.1 # ./configure --prefix=/usr/local/gcc-4.8.5 # make && make install
# xz mpfr-3.1.4.tar.xz # cd mpfr-3.1.4 # ./configure --prefix=/usr/local/gcc-4.8.5 --with-gpm=/usr/local/gcc-4.8.5 # make && make install
# tar zxvfp mpc-1.0.3.tar.gz # cd mpc-1.0.3 # ./configure --prefix=/usr/local/gcc-4.8.5 --with-gmp=/usr/local/gcc-4.8.5 --with-mpfr=/usr/local/gcc-4.8.5 # make && make install
# tar zxvfp gcc-4.8.5.tar.gz # cd gcc-4.8.5 # ./configure --prefix=/usr/local/gcc-4.8.5 --enable-checking=release --with-gpm=/usr/local/gcc-4.8.5 --with-mpfr=/usr/local/gcc-4.8.5 --with-mpc=/usr/local/gcc-4.8.5 --enable-languages=c,c++ # make && make install
環境設定
使う際には、環境変数に入れて使い分けます
$ export LD_LIBRARY_PATH=/usr/local/gcc/lib:/usr/local/gcc/lib64:$LD_LIBRARY_PATH $ export PATH=/usr/local/gcc/bin:$PATH $ alias gcc="gcc-4.8.5" $ alias g++="g++-4.8.5"