问题描述
我想在我的linux盒子里安装最新的cmake
,我总是得到以下异常 –
userName@phx5qa01c-4e23:~/build$ wget http://www.cmake.org/files/v2.8/cmake-2.8.11.tar.gz
--2013-10-08 14:39:55-- http://www.cmake.org/files/v2.8/cmake-2.8.11.tar.gz
Resolving www.cmake.org... 66.194.253.19
Connecting to www.cmake.org|66.194.253.19|:80... failed: Connection timed out.
Retrying.
--2013-10-08 14:40:17-- (try: 2) http://www.cmake.org/files/v2.8/cmake-2.8.11.tar.gz
Connecting to www.cmake.org|66.194.253.19|:80... failed: Connection timed out.
Retrying.
--2013-10-08 14:40:40-- (try: 3) http://www.cmake.org/files/v2.8/cmake-2.8.11.tar.gz
Connecting to www.cmake.org|66.194.253.19|:80...
它总是在重试……有什么想法吗?
有谁知道我在这做什么错?或者有没有更好的方法在我的Linux盒子中安装最新版本的cmake?
userName@phx5qa01c-4e23:~/build$ uname -a
Linux phx5qa01c-4e23 2.6.35-22-server #33-Ubuntu SMP Sun Sep 19 20:48:58 UTC 2010 x86_64 GNU/Linux
最佳解决方法
可能www.cmake.org上的服务器非常繁忙。您可以重试或使用Web浏览器下载文件。
然而,有一个更简单的方法:
sudo apt-get install cmake
更新:评论者指出“Ubuntu 12.04仅发售v2.8.7”和“14.04仍然发货2.8”。这是有原因的:12.04和14.04是UTSntu的LTS版本。 LTS版本旨在保持稳定5年,因此它们只接收安全性和关键更新,而不是最新版本的软件包。正常版本每6个月发布一次,因此更有可能最近推出cmake。
次佳解决方法
最常见的情况是您要安装最新版本的cmake,但不会更新操作系统的存储库。例如,在我的情况下,我有一台运行Ubuntu 16.04的笔记本电脑,当我执行命令sudo apt install cmake
时,安装的版本是3.5.1;而不是3.13.0,这是cmake.org上的当前版本。
我怎样才能获得最新版本?
好吧,我们可以按照以下方法之一安装它:
A.建筑和安装(推荐)
A-1。使用以下命令卸载Ubuntu的软件包管理器和配置提供的默认版本:
sudo apt remove --purge --auto-remove cmake
要么:
sudo apt purge --auto-remove cmake
A2。转到official CMake webpage,然后下载并解压缩最新版本。在以下命令中更新version
和build
变量以获得所需的版本:
version=3.13
build=0
mkdir ~/temp
cd ~/temp
wget https://cmake.org/files/v$version/cmake-$version.$build.tar.gz
tar -xzvf cmake-$version.$build.tar.gz
cd cmake-$version.$build/
A-3。运行以下命令安装提取的源:
./bootstrap
make -j4
sudo make install
A-4。测试您的新cmake
版本。
$ cmake --version
cmake --version
的结果:
cmake version 3.13.X
CMake suite maintained and supported by Kitware (kitware.com/cmake).
B.使用二进制文件(cmake-gui
不能正常工作)
B-1。卸载Ubuntu软件包管理器提供的默认版本,如A-1所示。
B-2。转到official CMake webpage,然后在opt/cmake
中下载并安装最新的.sh
版本。在以下命令中更新version
和build
变量以获取所需的版本:
version=3.13
build=0
mkdir ~/temp
cd ~/temp
wget https://cmake.org/files/v$version/cmake-$version.$build-Linux-x86_64.sh
sudo mkdir /opt/cmake
sudo sh cmake-$version.$build-Linux-x86_64.sh --prefix=/opt/cmake
B-3。通过运行以下命令将已安装的二进制链接添加到/usr/local/bin/cmake
:
sudo ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
B-4。像在A-4中一样测试新的cmake
版本。
说明
在3.13.X中,X表示我们定义为构建版本的最后一部分。如果更新cmake,则构建可能会更改。根据官方网页Latest Release is 3.13.0。如果你想要Previous Release 3.12.4只需要替换版本和构建参数,如下所示:
version=3.12
build=4
第三种解决方法
先安装了我怎样才能卸载软件?。然后:
-
转到http://www.cmake.org/download/并下载最新的.sh安装程序
-
通过运行在
opt/cmake
中安装它(例如)sudo mkdir /opt/cmake sudo sh <installer filename> --prefix=/opt/cmake
-
将cmake bin目录添加到路径:https://askubuntu.com/a/170240/359343
以这种方式安装,cmake-gui
看起来有点可怕,如果你找到一种解决方法,请随时编辑这个答案。
第四种方法
以防万一有人需要在docker镜像中安装最新的CMAKE(比如我……)。在这种情况下是3.7.2,但你可以在这里检查已经指出的https://cmake.org/download/
#install latest cmake
ADD https://cmake.org/files/v3.7/cmake-3.7.2-Linux-x86_64.sh /cmake-3.7.2-Linux-x86_64.sh
RUN mkdir /opt/cmake
RUN sh /cmake-3.7.2-Linux-x86_64.sh --prefix=/opt/cmake --skip-license
RUN ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
RUN cmake --version
第五种方法
您还可以执行以下操作:
export fn=/tmp/cmake.sh && ls $fn && (echo "use previous $fn? Enter for yes, ctrl+d for no." && read) || (wget -O $fn http://www.cmake.org/files/v3.0/cmake-3.0.2-Linux-i386.sh 1>&2) && (cd /opt && sudo bash ${fn} && echo sudo ln -f -s /opt/cmake*/bin/cmake /usr/local/bin/cmake && cd -)
这个脚本
-
如果已经在此会话中下载了,则获取3.0.2 **,如果未完成安装,则可以重复使用它
-
然后它复制链接到bin
cmake
。
第六种方法
我喜欢以下方式,因为你可以毫不费力地获得最新版本。
Kitware似乎正式支持pip wheel发布。所以你可以通过以下方式获得最新的cmake:
pip install –upgrade cmake
这是关于它的博客:https://blog.kitware.com/cmake-python-wheels/
第七种方法
删除旧版本使用:
apt-get purge cmake
下载以压缩包形式存档的cmake
二进制版本。您可以通过将其bin
目录路径添加到$PATH
来使用新版本的cmake
。另一种解决方案是提取tar.gz
包并转到提取后生成的目录并运行以下命令:
cp -r bin /usr/
cp -r doc /usr/share/
cp -r man /usr/share/
cp -r share /usr/
第二种方法与.deb
包的安装过程相同!
参考资料