Ubuntu升级Cmake的正确方式
某些软件包编译时需要高版本的Cmake,因此需要升级Cmake。 不能使用
sudo apt-get remove cmake
卸载低版本cmake后再重装高版本,这样做会导致之前编译和安装的很多库一起被卸载!!!
正确步骤是:
-
去https://cmake.org/files/下载所需版本的源码。也可以使用wget下载,例如:
wget https://cmake.org/files/v3.22/cmake-3.22.1.tar.gz
-
解压:
tar -xvzf cmake-3.22.1.tar.gz
-
进入解压目录,配置成功之后显示:
CMake has bootstrapped. Now run make.
chmod 777 ./configure ./configure
-
配置完成后,编译:
make
-
编译完成后,安装:
sudo make install
-
最后使用新安装的cmake替换旧版本,其中
/usr/local/bin/cmake
为新安装的cmake目录。sudo update-alternatives --install /usr/bin/cmake cmake /usr/local/bin/cmake 1 --force
-
最后测试cmake版本:
cmake --version # cmake version 3.22.1 # CMake suite maintained and supported by Kitware (kitware.com/cmake).
-
原理
安装之前:
安装之后:可以看到
/usr/bin
目录下的cmake成为了一个软链接,指向了/etc/alternatives/cmake
,而后者由指向了/usr/local/bin/cmake
,也就是我们安装的版本。其实就是通过软链接的方式将原始的程序“替换”了。关于
update-alternatives
的详细介绍请参考:[1] https://blog.csdn.net/JasonDing1354/article/details/50470109