Centos6 docker安装GCC-4.9步骤整理

Centos6不能直接安装Gcc4.9以上版本, 这里是通过编译源码实现。

yum  -y install glibc-headers gcc-c++
(安装gcc-c++.x86_64 0:4.4.7-11.el6 和 libstdc++-devel.x86_64 0:4.4.7-11.el6)

yum -y install m4
(安装 m4.x86_64 0:1.4.13-5.el6 )

cd  /home/xjx/gcc
tar -xf gcc-4.9.4.tar.gz
tar -xf gmp-4.3.2.tar.bz2
tar -xf mpfr-2.4.2.tar.bz2
tar -xzf mpc-0.8.1.tar.gz
tar -xf isl-0.15.tar.bz2

cd gmp-4.3.2 && ./configure –prefix=/usr/local/gmp-4.3.2 && make && make install && cd ..

cd mpfr-2.4.2 && ./configure –prefix=/usr/local/mpfr-2.4.2 –with-gmp=/usr/local/gmp-4.3.2 && make && make install && cd ..

cd mpc-0.8.1 && ./configure –prefix=/usr/local/mpc-0.8.1 –with-gmp=/usr/local/gmp-4.3.2 –with-mpfr=/usr/local/mpfr-2.4.2 && make && make install && cd ..

cd isl-0.15 && ./configure –prefix=/usr/local/isl-0.15 –with-gmp-prefix=/usr/local/gmp-4.3.2 && make && make install && cd ..

yum -y install binutils-x86_64-linux-gnu.x86_64
(安装 inutils-x86_64-linux-gnu.x86_64 0:2.23.51.0.3-1.el6.1 和 cross-binutils-common.noarch 0:2.23.51.0.3-1.el6.1)

cd /usr/bin &&  mv as as-2.20-bak &&  ln -s x86_64-linux-gnu-as as

cd /home/xjx/gcc/gcc-4.9.4

sed -i ‘$a /usr/local/gmp-4.3.2/lib’ /etc/ld.so.conf.d/usr-local-lib.conf
sed -i ‘$a /usr/local/mpfr-2.4.2/lib’ /etc/ld.so.conf.d/usr-local-lib.conf
sed -i ‘$a /usr/local/mpc-0.8.1/lib’ /etc/ld.so.conf.d/usr-local-lib.conf
sed -i ‘$a /usr/local/isl-0.15/lib’ /etc/ld.so.conf.d/usr-local-lib.conf
(文件末尾追加内容, ’’文本or“”正则表达式 ???)
ldconfig
(更新/etc/ld.so.cache缓存)

./configure –prefix=/usr/local/gcc-4.9.4 -enable-checking=release -enable-languages=c,c++ -disable-multilib –with-gmp=/usr/local/gmp-4.3.2 –with-mpfr=/usr/local/mpfr-2.4.2 –with-mpc=/usr/local/mpc-0.8.1 –with-isl=/usr/local/isl-0.15
make && make install

编译gcc过程很漫长, 需耐心等待。

mv /usr/bin/gcc /usr/bin/gcc-4.4.7-bak
mv /usr/bin/g++ /usr/bin/g++-4.4.7-bak
mv /usr/bin/c++ /usr/bin/c++-4.4.7-bak

ln -s /usr/local/gcc-4.9.4/  /usr/local/gcc

ln -sf /usr/local/gcc/bin/gcc /usr/bin/gcc
ln -sf /usr/local/gcc/bin/c++ /usr/bin/c++
ln -sf /usr/local/gcc/bin/g++ /usr/bin/g++
ln -sf /usr/local/gcc/lib64/libstdc++.so.6.0.20 /usr/lib64/libstdc++.so.6

cd /usr/bin && ll cpp cc cloog gcc g++ c++

(至此gcc-4.9.4已完成安装,以下集成nginx,+br,zstd等, zstd-1.5.5需要用到gcc4.9以上版本)

cd /home/xjx && tar -xzf zstd-1.5.5.tar.gz

cd /home/xjx/zstd-1.5.5
sed -i “139,141s/\$(LZ4LD)/\$(LZ4LD) -lrt/” programs/Makefile
sed -n “139,141p” programs/Makefile
(打印指定行Ln1~Ln2内容到标准输出)
make && make install
zstd -V


cd  /home/xjx/nginx
unzip -q brotli-master.zip
tar -xf nginx-1.10.3.tar.gz
unzip -q nginx-xxx-module.zip
unzip -q ngx_brotli-master.zip
(-q: 执行时不显示任何信息)
unzip -q zstd-nginx-module.zip
cp -r brotli-master/* ngx_brotli-master/deps/brotli/
cd /home/xjx/nginx/nginx-1.10.3

./configure –prefix=/export/servers/nginx-1.10.3 –user=admin –group=admin –with-http_ssl_module –with-http_gzip_static_module  –with-http_realip_module –with-http_sub_module –add-module=../nginx-xxx-module  –add-module=../ngx_brotli-master –add-module=../zstd-nginx-module   
make && make install

mkdir /export/servers/nginx-1.10.3/conf/zstd
cp /home/xjx/nginx/zstd_dict.conf /export/servers/nginx-1.10.3/conf/zstd/
mv /export/servers/nginx-1.10.3/conf/nginx.conf /export/servers/nginx-1.10.3/conf/old_nginx.conf
cp /home/xjx/nginx/nginx.conf /export/servers/nginx-1.10.3/conf/
chown admin /export/servers/nginx-1.10.3/conf/zstd && chgrp admin /export/servers/nginx-1.10.3/conf/zstd
cp /export/servers/nginx-1.10.3/html/dict/warecore.dict /export/servers/nginx-1.10.3/html/

/export/servers/nginx-1.10.3/sbin/nginx

chown -R admin nginx-1.10.3   && chgrp -R admin nginx-1.10.3


已发布

分类

来自

标签: