解决make: *** 没有指明目标并且找不到 makefile错误。 停止。
执行一下安装keepalived语句报错:
./configure --prefix=/usr/local/keepalived
make
make install
报错信息:
configure: error:
!!! OpenSSL is not properly installed on your system. !!!
!!! Can not include OpenSSL headers files. !!!
[root@jiekou keepalived-2.0.7]# make
make: *** 没有指明目标并且找不到 makefile。 停止。
[root@jiekou keepalived-2.0.7]# make install
解决方法:http://www.yayihouse.com/yayishuwu/chapter/1648
系统环境:Centos7.4
今天在安装 Nodejs8.7 的时候,报了一个警告:
WARNING: C++ Compiler too old, need g++ 4.9.4 or clang++ 3.4.2 (CXX=g++)
然后,查了一下自己系统上安装的版本:4.8.5
好吧,不能用 yum 升级了,那就手动安装了吧
一、选择需要升级的版本
gcc ftp 下载地址列表
链接https://ftp.gnu.org/gnu/gcc/
(我选择了5.4.0)
二、获取安装包并解压
cd /usr/local/src
wget https://ftp.gnu.org/gnu/gcc/gcc-5.4.0/gcc-5.4.0.tar.bz2
tar -jxvf gcc-5.4.0.tar.bz2
注:bz2是一种压缩文件格式,若无法解压,安装 bzip2 即可:yum -y install bzip2
三、进入解压后的gcc文件夹,下载供编译需求的依赖项
cd gcc-build-5.4.0
./contrib/download_prerequisites
四、建立一个文件夹存放编译文件
mkdir gcc-build-5.4.0
cd gcc-build-5.4.0
五、生成 Makefile 文件
make
注:这个过程非常耗时,我的1核1G内存大约花了一个来小时
六、安装
sudo make install
七、重启服务器,验证版本
gcc -v
问题原因:升级gcc时,生成的动态库没有替换老版本 gcc 动态库导致的
解决方案:将gcc最新版本的动态库替换系统中老版本的动态库。
(1). 查找编译gcc时生成的最新动态库
find / -name “libstdc++.so*”
(2) 将找到的动态库libstdc++.so.6.0.21复制到/usr/lib64
cp /usr/local/src/gcc-5.4.0/gcc-build-5.4.0/stage1-x86_64-unknown-linux-gnu/libstdc+±v3/src/.libs/libstdc++.so.6.0.21 /usr/lib64
(3). 切换工作目录至/usr/lib64,删除原来的软连接, 将默认库的软连接指向最新动态库。
cd /usr/lib64
rm -rf libstdc++.so.6
ln -s libstdc++.so.6.0.21 libstdc++.so.6