SSH*_*SSH 168 command-line cmake software-installation
我正在尝试cmake
在我的 linux 盒子中安装最新版本,但我总是遇到以下异常 -
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...
Run Code Online (Sandbox Code Playgroud)
它总是在重试......有什么想法吗?
有谁知道我在这里做错了什么?或者有什么更好的方法可以在我的 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
Run Code Online (Sandbox Code Playgroud)
Teo*_*cci 304
最常见的情况是当您想要安装最新版本的cmake,但您的操作系统的存储库未更新时。例如,在我的例子中,我有一台运行Ubuntu 16.04的笔记本电脑,当我执行命令时sudo apt install cmake
,安装的版本是3.5.1;而不是3.21.1,这是cmake.org 上的当前版本。
好吧,我们可以通过以下方法之一安装它:使用 APT Reprositories,构建和安装或使用二进制文件。
Kitware 现在提供支持 Ubuntu 16.04、18.04 和 20.04的APT 存储库。因此,我们可以按照以下步骤轻松安装它:
A-1。使用以下命令卸载 Ubuntu 的包管理器和配置提供的默认版本:
sudo apt remove --purge --auto-remove cmake
Run Code Online (Sandbox Code Playgroud)
或者:
sudo apt purge --auto-remove cmake
Run Code Online (Sandbox Code Playgroud)
A2。准备安装
sudo apt update && \
sudo apt install -y software-properties-common lsb-release && \
sudo apt clean all
Run Code Online (Sandbox Code Playgroud)
A-3。获取套件的签名密钥的副本。
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null
Run Code Online (Sandbox Code Playgroud)
A-4。将 kitware 的存储库添加到 Ubuntu Focal Fossa (20.04)、Ubuntu Bionic Beaver (18.04) 和 Ubuntu Xenial Xerus (16.04) 的源列表中。
sudo apt-add-repository "deb https://apt.kitware.com/ubuntu/ $(lsb_release -cs) main"
Run Code Online (Sandbox Code Playgroud)
A-5。作为可选步骤,建议我们也安装该kitware-archive-keyring
软件包以确保 Kitware 的钥匙圈在他们旋转钥匙时保持最新。
sudo apt update
sudo apt install kitware-archive-keyring
sudo rm /etc/apt/trusted.gpg.d/kitware.gpg
Run Code Online (Sandbox Code Playgroud)
A-6。最后,我们可以更新和安装cmake
包。
sudo apt update
sudo apt install cmake
Run Code Online (Sandbox Code Playgroud)
对于这种方法,您需要安装 GCC 工具:
sudo apt update
sudo apt install build-essential libtool autoconf unzip wget
Run Code Online (Sandbox Code Playgroud)
B-1。卸载 Ubuntu 的包管理器提供的默认版本,如A-1。
B-2。前往官方 CMake 网页,然后下载并解压最新版本。更新以下命令中的version
和build
变量以获得所需的版本:
version=3.21
build=1
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/
Run Code Online (Sandbox Code Playgroud)
B-3。通过运行安装提取的源:
./bootstrap
make -j$(nproc)
sudo make install
Run Code Online (Sandbox Code Playgroud)
B-4。测试您的新cmake
版本。
$ cmake --version
Run Code Online (Sandbox Code Playgroud)
结果cmake --version
:
cmake version 3.21.X
CMake suite maintained and supported by Kitware (kitware.com/cmake).
Run Code Online (Sandbox Code Playgroud)
cmake-gui
效果不佳)C-1。卸载 Ubuntu 的包管理器提供的默认版本,如A-1。
C-2。转到官方 CMake 网页,然后下载并安装最新.sh
版本的opt/cmake
. 更新以下命令中的version
和build
变量以获得所需的版本:
version=3.21
build=1
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
Run Code Online (Sandbox Code Playgroud)
C-3。/usr/local/bin/cmake
通过运行以下命令添加已安装的二进制链接:
sudo ln -s /opt/cmake/bin/cmake /usr/local/bin/cmake
Run Code Online (Sandbox Code Playgroud)
C-4。cmake
像A-4一样测试您的新版本。
在3.21.X 中,X代表我们定义为构建版本的最后一部分。如果更新cmake,构建可能会更改。根据官方网页最新版本是 3.21.1。如果您想要以前的版本 3.20.5,只需像这样替换版本和构建参数:
version=3.20
build=5
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
Run Code Online (Sandbox Code Playgroud)
对于CMake的先前版本(3.19.7 <=)记住该文件名具有contanins上壳体L
中-Linux-x86_64.sh
和从3.20版本,它具有较低的情况下,l
在-linux-x86_64.sh
Him*_*mel 65
Kitware 现在有一个 APT 存储库,目前支持 Ubuntu 16.04、18.04 和 20.04
安装说明:
删除旧版本的 cmake
sudo apt purge --auto-remove cmake
Run Code Online (Sandbox Code Playgroud)获取签名密钥的副本
wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | gpg --dearmor - | sudo tee /etc/apt/trusted.gpg.d/kitware.gpg >/dev/null
Run Code Online (Sandbox Code Playgroud)将存储库添加到您的源列表
一种。对于 Ubuntu Focal Fossa (20.04)
sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ focal main'
Run Code Online (Sandbox Code Playgroud)
湾 对于 Ubuntu Bionic Beaver (18.04)
sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
Run Code Online (Sandbox Code Playgroud)
C。对于 Ubuntu Xenial Xerus (16.04)
sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ xenial main'
Run Code Online (Sandbox Code Playgroud)更新和安装
sudo apt update
sudo apt install cmake
Run Code Online (Sandbox Code Playgroud)Ant*_*nio 50
首先卸载之前安装的任何 cmake 包。然后:
转到http://www.cmake.org/download/并下载最新的 .sh 安装程序
opt/cmake
通过运行安装它(例如)
sudo mkdir /opt/cmake
sudo sh <installer filename> --prefix=/opt/cmake
Run Code Online (Sandbox Code Playgroud)将 cmake bin目录添加到您的路径:https : //askubuntu.com/a/170240/359343
以这种方式安装,cmake-gui
看起来有点可怕,如果您找到解决方法,请随时编辑此答案。
小智 35
以防万一,如果有人需要在 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
Run Code Online (Sandbox Code Playgroud)
Jua*_*eni 32
我喜欢以下方式,因为您可以轻松获得最新版本。
Kitware 似乎正式支持 pip wheel 版本。因此,您只需执行以下操作即可获得最新的 cmake:
pip install --upgrade cmake
这是关于它的博客:https : //blog.kitware.com/cmake-python-wheels/
zwe*_*ets 22
可能 www.cmake.org 的服务器非常忙。您可以重试或使用网络浏览器下载文件。
然而,有一个更简单的方法:
sudo apt-get install cmake
Run Code Online (Sandbox Code Playgroud)
更新:评论者指出“Ubuntu 12.04 仅发布 v2.8.7”和“14.04 仍在发布 2.8”。这是有原因的:12.04 和 14.04 是Ubuntu 的LTS 版本。LTS 版本旨在保持稳定 5 年,因此它们只会收到安全和关键更新,而不是最新版本的软件包。正常版本每 6 个月发布一次,因此更有可能与最近的 cmake 一起发布。
对于 Docker 容器,最好运行
RUN wget -qO- "https://cmake.org/files/v3.12/cmake-3.12.1-Linux-x86_64.tar.gz" | \
tar --strip-components=1 -xz -C /usr/local
Run Code Online (Sandbox Code Playgroud)
如果需要,调整版本。
您可以通过 snap 找到最新版本的 cmake。例如,在撰写此答案时,cmake 的最新版本是 3.15.3,snap 的版本是 3.15.2。
sudo apt-get purge cmake
sudo snap install cmake --classic
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
444861 次 |
最近记录: |