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