问题一:
[root@tptest build]# cmake …
-bash: cmake: command not found
问题二:
[root@tptest build]# make …
-bash: make: command not found
问题三:
[root@tptest build]# make -j4
make: *** No targets specified and no makefile found. Stop.
yum install -y cmake
安装cmake即可
yum install -y make
安装make即可
这个问题是说,没有找到makefile文件,那我们就查找一下有没有这个文件
ls
运行结果:
果然没这个文件。我的思考:这个文件是由于cmake生成的,而文件包在其他服务器上测试过,应该没问题。因此,我觉得cmake指令有问题!先看一下版本吧!
cmake -version
运行结果:
查阅资料,发现有些尴尬,这个cmake版本。。。这个CMake包版本太低了 不支持C99语法!那就装个3.14版本的。
下载新版本:
wget https://cmake.org/files/v3.6/cmake-3.6.2.tar.gz
解压:
tar -xvf cmake-3.6.2.tar.gz
安装:
cd cmake-3.6.2
./bootstrap && make -j4 && sudo make install
运行之后,查看版本:
cmake -version
运行结果:
好吧,这个说明没有正确安装,是否是没卸载原来版本的原因呢?查看安装信息,如下:
安装的时候没有报错,应该成功了才对。咋们继续查找原因:
ls -l /usr/local/bin
运行结果:
这个有些奇怪,因为文件确实已经更新了,但为什么不能使用呢?我们来查看一下他的软连接:
file /usr/local/bin/cmake
如图,我们的安装路径应该是/usr/local/share/cmake-3.6/completions/cmake,二软连接没有指向他。我们尝试修改一下吧!
先备份原有连接:
mv /usr/local/bin/cmake /usr/local/bin/cmake_copy
mv /usr/local/bin/cpack /usr/local/bin/cpack_copy
mv /usr/local/bin/ctest /usr/local/bin/ctest_copy
创建软连接:
ln -s /usr/local/share/cmake-3.6/completions/cmake /usr/local/bin/cmake
ln -s /usr/local/share/cmake-3.6/completions/cpack /usr/local/bin/cpack
ln -s /usr/local/share/cmake-3.6/completions/ctest /usr/local/bin/ctest
再次查看版本
cmake -version
你没有看错,神奇的事情发生了,原版本的cmake又回来了。那么,我们把它卸载掉,应该就万事大吉了。
卸载cmake:
yum erase cmake
查看版本:
cmake -version
这里表明/usr/bin/make目录下没有该文件,说明已经卸载干净。我们要做的,就是手动添加进去(这次添加目录不一样),如下:
ln -s /usr/local/share/cmake-3.6/completions/cmake /usr/bin/cmake
ln -s /usr/local/share/cmake-3.6/completions/cpack /usr/bin/cpack
ln -s /usr/local/share/cmake-3.6/completions/ctest /usr/bin/ctest
chmod 777 /usr/bin/cmake
chmod 777 /usr/bin/cpack
chmod 777 /usr/bin/ctest
查看版本:
还是什么都没有!有点意思哦,把新安装的卸载看看:
make uninstall cmake
换一种安装方式:
配置安装目录
./configure --prefix=/usr/local/yeqinfang/cmake-3.6.2
make
make install
编辑文件
vim /etc/profile
将“安装目录/bin”加入环境变量PATH:
export PATH=/usr/local/yeqinfang/cmake-3.6.2/bin:$PATH
source /etc/profile