通过 WSL 运行在 Ubuntu 18.04.3 LTS 上安装最新的 cmake:OpenSSL 错误

通过 WSL 运行在 Ubuntu 18.04.3 LTS 上安装最新的 cmake:OpenSSL 错误

在 Windows 上使用 CLion(C++ IDE),我想在通过 WSL 运行的 Ubuntu 18.04.3 LTS 上安装最新版本的 cmake(当前版本的 CLion 需要 cmake > 3.15,而我只安装了 3.10.2 版本)。

按照以下 cmake 安装说明进行操作相关答案,引导 CMake 时发生错误(链接答案中 A-3 中的第一步):

-- Could NOT find OpenSSL, try to set the path to OpenSSL root folder in the system variable OPENSSL_ROOT_DIR (missing: OPENSSL_CRYPTO_LIBRARY) (found version "1.1.1")
CMake Error at Utilities/cmcurl/CMakeLists.txt:454 (message):
Could not find OpenSSL.  Install an OpenSSL development package or
configure CMake with -DCMAKE_USE_OPENSSL=OFF to build without OpenSSL.

-- Configuring incomplete, errors occurred!

我已经libssl-dev按照建议安装了另一个与 cmake 相关的线程

关于如何解决这个问题有什么想法吗?

答案1

去年我遇到了同样的问题。我的解决方案是这样的:

在 WSL 终端中运行以下命令

sudo apt-get update
sudo apt-get install apt-transport-https ca-certificates gnupg software-properties-common wget

完成后

wget -O - https://apt.kitware.com/keys/kitware-archive-latest.asc 2>/dev/null | sudo apt-key add -

接下来输入以下内容添加更新的存储库

sudo apt-add-repository 'deb https://apt.kitware.com/ubuntu/ bionic main'
sudo apt-get update

最后

sudo apt-get install cmake

并且应该更新到最新版本。

注意:如果上述方法不起作用,请在尝试以下步骤时要非常小心。虽然这种方法并不优雅,也不干净,但确实有效。

如果这不起作用。转到https://cmake.org/download/并下载最新的 Ubuntu 版本。如果您有一个文件夹来保存所有项目,我建议将文件下载到项目所在的最顶层目录中。

例如,我的所有项目都在一个名为“Github”的文件夹中,因此我会将文件下载到我的“Github”文件夹中。如果没有顶级目录,请在 C 盘或您保存项目的任何驱动器中创建一个 cmake 文件夹。

下载完成后,将文件(通过 winrar/winzip/7zip/ 或终端)解压到同一目录中。解压后进入cd文件夹 (cmake-{version number}) 并执行以下命令。

cmake .
make
make install

这将生成最新版本的 cmake,然后安装所需的组件。构建和安装所有内容可能需要一段时间。

完成后,您需要找到 cmake 文件夹中的 /bin/ 文件夹。确保此文件夹中有一个名为“cmake”的文件。复制此目录的路径并输入以下内容

sudo nano ~/.bash_aliases

您可以在终端中使用 vi 或 vim 或任何您想要的文本编辑器。在文件末尾输入以下内容

alias cmake="{PATH to /bin/ folder}/cmake"

确保如果您从 Windows 资源管理器复制了路径,则将 \ 替换为 /,保存文件并退出。

重新启动终端并输入

cmake --version

它应该会显示您刚刚下载的版本。

恭喜您现在拥有更新版本的 cmake。

根据约翰的评论,这是特定于版本,这些完全相同的方向(至少对于第一种方法)可用这里以获取最新版本的 CMake。

答案2

我尝试在我的 WSL 中安装 CMAKE,并且在引导阶段也遇到了类似的问题,但是一旦我使用终端中的命令安装 OpenSSL,这个错误就消失了:

sudo apt-get install libssl-dev

在我看来,你的情况最有可能的原因是 OpenSSL 包没有正确安装。要测试是否是这种情况,也许你可以看看回答。

相关内容