Ubuntu安装cmake

1,047 阅读3分钟

Ubuntu安装cmake

前言

本文为《CUDA与TensorRT部署学习笔记》系列中环境配置篇。本文主要记录安装cmake的几种方式及优缺点,重点介绍使用源代码手动编译的安装方式。

1 cmake安装方式说明

Ubuntu 安装 cmake 有以下几种方式

  • 通过 apt 包管理器安装
  • 通过源代码手动编译安装
  • 使用 Snap 包安装
  • 使用CMake官方提供的安装脚本

2 安装过程

2.1 通过apt包管理器安装

2.1.1 安装操作

sudo apt-get update sudo apt-get install cmake

2.1.2 优缺点

  • 优点: 简单方便,能够轻松通过包管理器维护和更新。
  • 缺点: 安装的是系统默认版本,可能不是最新版本。如果项目需要使用最新的CMake功能,这种方式可能不够灵活。

2.2 通过源代码手动编译安装

2.2.1 安装流程

(1)先查看下系统是否已经存在cmake

cmake --version

(2)若存在则先卸载原先版本

sudo apt-get remove cmake

(3)进入官网进行下载

官网地址:cmake.org/download/ 。如图这边选择的是该版本的cmake。

image

(4)将文件上传到服务器指定位置,进行文件解压

tar -xzvf cmake-3.28.0-rc5.tar.gz

(5)进入解压后的目录

cd cmake-3.28.0-rc5

(6)编译和安装:

./bootstrap

(7)报错及解决

  • 问题1:

    Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL\_ROOT\_DIR \(missing: OPENSSL\_CRYPTO\_LIBRARY OPENSSL\_INCLUDE\_DIR\)
    CMake Error at Utilities/cmcurl/CMakeLists.txt:647 \(message\):
    Could not find OpenSSL.  Install an OpenSSL development package or
    configure CMake with -DCMAKE\_USE\_OPENSSL\=OFF to build without OpenSSL.
    

    解决办法:
    缺失库原因,通过以下指令解决

    sudo apt-get install libssl-dev
    

    然后试下

  • ./bootstrap
    
  • 问题2:

    CMake Error at /root/anaconda3/lib/cmake/Qt5Gui/Qt5GuiConfigExtras.cmake:9 \(message\):
      Failed to find "GL/gl.h" in
      "/root/anaconda3/include;/opt/conda/conda-bld/qt-main\_1660123285207/\_build\_env/x86\_64-conda-linux-gnu/sysroot/usr/include;/opt/conda/conda-bld/qt-main\_1660123285207/\_build\_env/x86\_64-conda-linux-gnu/sysroot/usr/include/libdrm;/opt/conda/conda-bld/qt-main\_1660123285207/\_build\_env/x86\_64-conda-linux-gnu/sysroot/usr/include".
    Call Stack \(most recent call first\):
      /root/anaconda3/lib/cmake/Qt5Gui/Qt5GuiConfig.cmake:233 \(include\)
      /root/anaconda3/lib/cmake/Qt5Widgets/Qt5WidgetsConfig.cmake:100 \(find\_package\)
      Tests/CMakeLists.txt:280 \(find\_package\)
    

    解决办法
    解决"GL/gl.h​"头文件缺失,安装OpenGL​相关的开发包

    sudo apt-get install libgl1-mesa-dev
    

    然后试下

     ./bootstrap
    

    好像没有报错了

(8)编译构建

make

(9)安装

make install

(10)验证安装结果

cmake --version

如果出现,证明安装成功

cmake version 3.28.0-rc5
CMake suite maintained and supported by Kitware (kitware.com/cmake).

2.2.2 优缺点

  • 优点: 可以安装最新版本,具有更多的灵活性。
  • 缺点: 需要手动处理依赖关系,可能会导致一些问题。维护和更新也需要手动处理。

2.3 通过snap包安装

Snap 包是一个更现代的包管理器,可以提供更安全和稳定的软件。

2.3.1 安装流程

  • 安装 Snap 包管理器

    sudo apt install snapd
    
  • 运行以下命令安装 cmake

    sudo snap install cmake
    

2.3.2 优缺点

  • 优点: 提供最新版本的CMake,且与系统其他软件包独立。
  • 缺点: Snap包会占用一些磁盘空间,并且可能与系统的其他软件包管理方式不太一致。

2.4 使用CMake官方提供的安装脚本

2.4.1 安装流程

wget https://cmake.org/files/v3.x/cmake-3.x.x-Linux-x86_64.sh
chmod +x cmake-3.x.x-Linux-x86_64.sh
sudo ./cmake-3.x.x-Linux-x86_64.sh --skip-license --prefix=/usr

2.4.2 优缺点

  • 优点: 提供了一个方便的脚本,可以指定安装目录。
  • 缺点: 仍然需要手动处理依赖关系。

3 总结

选择安装方式取决于你的具体需求。如果你需要一个方便、维护容易的安装,使用包管理器可能是最好的选择。如果你需要更大的灵活性和最新的功能,手动编译安装可能更适合。 Snap包和CMake官方提供的安装脚本提供了一些折中的选择,可以满足不同的需求。

我这边选择第二种,手动编译安装哈!