标签:har 文件 redis tip zlib bcp sdn https unknown
在centos6.5上安装Redis-6.0.10时报了如下的错误:
cc1plus: 错误:无法识别的命令行选项“-std=c++11”
经过查阅相关资料发现原因是本centos6.5系统的gcc版本太低,查看当前gcc版本信息:
1 [root@localhost lib]# gcc -v 2 使用内建 specs。 3 目标:x86_64-redhat-linux 4 配置为:../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --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++,java,fortran,ada --enable-java-awt=gtk --disable-dssi --with-java-home=/usr/lib/jvm/java-1.5.0-gcj-1.5.0.0/jre --enable-libgcj-multifile --enable-java-maintainer-mode --with-ecj-jar=/usr/share/java/eclipse-ecj.jar --disable-libjava-multilib --with-ppl --with-cloog --with-tune=generic --with-arch_32=i686 --build=x86_64-redhat-linux 5 线程模型:posix 6 gcc 版本 4.4.7 20120313 (Red Hat 4.4.7-17) (GCC) 7 [root@localhost lib]#
当前版本信息为gcc-4.4.7,出现上面的原因至少需要gcc-4.7以上版本
1、下载地址:http://ftp.gnu.org/gnu/gcc/
2、解压
#tar zxvf gcc-4.8.2.tar.gz
3、进入目录并进行配置
#cd gcc-4.8.2
#./contrib/download_prerequisites
上面这个神奇的脚本文件会帮我们下载、配置、安装依赖库,可以节约我们大量的时间和精力,脚本会自动下载三个依赖库别为gmp-4.3.2、mpfr-2.4.2、mpc-0.8.1。
或者也可以手动下载依赖库并安装
1 ftp://ftp.gnu.org/gnu/gmp/gmp-4.3.2.tar.bz2 2 http://www.mpfr.org/mpfr-2.4.2/mpfr-2.4.2.tar.bz2 3 http://www.multiprecision.org/mpc/download/mpc-0.8.1.tar.gz
本人在这里使用了脚本,发现半天都跑不完,到最后居然不动了,于是想手动下载安装,发现上面三个地址也不能下载,只能从网上寻找。
首先获取三个源码:
1 #tar -jxvf gmp-4.3.2.tar.bz2 2 #cd gmp-4.3.2 3 #./configure --prefix=/usr 4 # make 5 # make install 6 7 #tar -jxvf mpfr-2.4.2.tar.bz2 8 #cd mpfr-2.4.2 9 #./configure --prefix=/usr 10 #make 11 #make install 12 13 #tar -xzvf mpc-0.8.1.tar.gz 14 #cd mpc-0.8.1 15 #./configure --prefix=/usr 16 #make 17 #make install
注意:如果先安装mpc-0.8.1.tar.gz后安装mpfr-2.4.2.tar.bz2会报错
configure: error: libmpfr not found or uses a different ABI (including static vs shared).
所以就按上述步骤安装即可。
4、进入gcc-4.8.2目录进行配置编译
1 #cd gcc-4.8.2 2 ./configure -enable-checking=release -enable-languages=c,c++ -disable-multilib 3 make
gcc的参数配置:
–disable-checking //生成的编译器在编译过程中不做额外检查,也可以使用–enable-checking=xxx来增加一些检查;
–enable-languages //指定gcc能编译哪些语言的文件,每种语言用逗号分隔, 例如 c,c++,java
–disable-multilib //默认gcc能在32位系统上将代码编译成64位程序,或者在64位系统上编译成32位程序,如果加上这个编译选项则表示关闭这个gcc的交叉编译功能。
make后会出现如下错误:
1 configure: error: C++ compiler missing or inoperational 2 3 make[2]: \*** [configure-stage1-libcpp] Error 1 4 make[2]: Leaving directory `/home/liukk/gcc-4.8.1‘ 5 make[1]: \*** [stage1-bubble] Error 2 6 make[1]: Leaving directory `/home/liukk/gcc-4.8.1‘ 7 make: \*** [all] Error 2
说明机子上没有gcc,首先安装gcc,和c++,解决办法:
yum install gcc-c++
然后继续编译,非常耗时,大概一个小时。
make
5、安装
make install
6、验证:
gcc -v
或者
g++ -v
如果显示的gcc版本仍是以前的版本,就需要重启系统。
或者可以查看gcc的安装位置:
which gcc
然后在查看版本,通常gcc都安装在该处位置。
/usr/local/bin/gcc -v
1 [root@localhost include]# /usr/local/bin/gcc -v 2 使用内建 specs。 3 COLLECT_GCC=/usr/local/bin/gcc 4 COLLECT_LTO_WRAPPER=/usr/local/libexec/gcc/x86_64-unknown-linux-gnu/4.8.2/lto-wrapper 5 目标:x86_64-unknown-linux-gnu 6 配置为:./configure --enable-checking=release --enable-languages=c,c++ --disable-multilib --with-gmp=/usr/lib --with-mpc=/usr/lib --with-mpfr=/usr/lib 7 线程模型:posix 8 gcc 版本 4.8.2 (GCC) 9 [root@localhost include]#
参考:https://blog.csdn.net/qq_22790049/article/details/52873915
标签:har 文件 redis tip zlib bcp sdn https unknown
原文地址:https://www.cnblogs.com/renlinsen/p/14275168.html