最近在做 VLN 项目的时候用到了 CMake ,但是服务器上的 CMake 却不能运行。
不仅是带参数情况下 CMake 无法运行,就连版本号也打印不出来。参考了一些博客,大概都说是版本不匹配的问题,于是尝试重新安装 libcurl3 。
但是 libcurl3 已经是最新版了,所以应该不是 libcurl3 的版本问题。那是不是 CMake 的版本问题?
可以看到,重新安装 CMake 也没有解决问题。可是明明在本地 Mac 上是能运行 CMake 的呀,于是想到对比两台电脑的版本信息。这一对比着实吓了一跳,本地 Mac 上的 CMake 版本是 3.15.4
而服务器上的 CMake 才 3.5.1 ,足足差了 10 个版本。但是为什么 apt-get 没有自动更新 CMake 呢?强制指定 CMake 安装版本的时候发现了原因。
原来是清华镜像根本没有提供 3.15 版本的 CMake 。找到原因就好办了,直接到官网 https://cmake.org/download/ 下载 CMake 的安装包手动安装就行了。
尝试一下
果然是版本太低。安装好之后还可以在本地目录下建一个软连接,方便引用
ln -s cmake-3.17.1-Linux-x86_64/bin/cmake cmake
因为服务器的 root 权限是借的,所以就不往 /usr/local/ 里面装了,记得以后使用 CMake 的时候用相对路径。