CMake 无法打开:找不到 CURL_OPENSSL_3

在VLN项目中遇到CMake版本过低无法运行的问题,通过对比本地和服务器版本发现巨大差异。服务器CMake版本为3.5.1,远低于本地的3.15.4。尝试重新安装未果后,发现清华镜像源未提供高版本CMake。最终从官网下载安装包手动升级至3.17.1,并创建软连接以方便引用。

最近在做 VLN 项目的时候用到了 CMake ,但是服务器上的 CMake 却不能运行。
cmake error
不仅是带参数情况下 CMake 无法运行,就连版本号也打印不出来。参考了一些博客,大概都说是版本不匹配的问题,于是尝试重新安装 libcurl3 。
libcurl3
但是 libcurl3 已经是最新版了,所以应该不是 libcurl3 的版本问题。那是不是 CMake 的版本问题?
cmake reinstall
可以看到,重新安装 CMake 也没有解决问题。可是明明在本地 Mac 上是能运行 CMake 的呀,于是想到对比两台电脑的版本信息。这一对比着实吓了一跳,本地 Mac 上的 CMake 版本是 3.15.4
cmake mac
而服务器上的 CMake 才 3.5.1 ,足足差了 10 个版本。但是为什么 apt-get 没有自动更新 CMake 呢?强制指定 CMake 安装版本的时候发现了原因。
cmake version
原来是清华镜像根本没有提供 3.15 版本的 CMake 。找到原因就好办了,直接到官网 https://cmake.org/download/ 下载 CMake 的安装包手动安装就行了。
official
尝试一下
try
果然是版本太低。安装好之后还可以在本地目录下建一个软连接,方便引用

ln -s cmake-3.17.1-Linux-x86_64/bin/cmake cmake

因为服务器的 root 权限是借的,所以就不往 /usr/local/ 里面装了,记得以后使用 CMake 的时候用相对路径。

[100%] Linking CXX executable /home/miccai/ros2_ws/src/xiugai/ORB_SLAM3/Examples/Monocular/mono_tum /usr/bin/ld: warning: libboost_serialization.so.1.74.0, needed by /home/miccai/ros2_ws/src/xiugai/ORB_SLAM3/lib/libORB_SLAM3.so, may conflict with libboost_serialization.so.1.82.0 /usr/bin/ld: warning: libopencv_core.so.4.2, needed by /home/miccai/ros2_ws/src/xiugai/ORB_SLAM3/Thirdparty/DBoW2/lib/libDBoW2.so, may conflict with libopencv_core.so.4.5d /usr/bin/ld: /lib/x86_64-linux-gnu/libgdal.so.34: undefined reference to `curl_easy_getinfo@CURL_OPENSSL_4' /usr/bin/ld: /lib/x86_64-linux-gnu/libgdal.so.34: undefined reference to `curl_multi_perform@CURL_OPENSSL_4' /usr/bin/ld: /lib/x86_64-linux-gnu/libgdal.so.34: undefined reference to `curl_multi_cleanup@CURL_OPENSSL_4' /usr/bin/ld: /lib/x86_64-linux-gnu/libnetcdf.so.19: undefined reference to `curl_global_init@CURL_OPENSSL_4' /usr/bin/ld: /lib/x86_64-linux-gnu/libgdal.so.34: undefined reference to `curl_mime_init@CURL_OPENSSL_4' /usr/bin/ld: /lib/x86_64-linux-gnu/libgdal.so.34: undefined reference to `TIFFReadFromUserBuffer@LIBTIFF_4.0' /usr/bin/ld: /lib/x86_64-linux-gnu/libgdal.so.34: undefined reference to `TIFFGetStrileOffsetWithErr@LIBTIFF_4.0' /usr/bin/ld: /lib/x86_64-linux-gnu/libgdal.so.34: undefined reference to `curl_multi_remove_handle@CURL_OPENSSL_4' /usr/bin/ld: /lib/x86_64-linux-gnu/libgdal.so.34: undefined reference to `curl_mime_addpart@CURL_OPENSSL_4' /usr/bin/ld: /lib/x86_64-linux-gnu/libgdal.so.34: undefined reference to `curl_version_info@CURL_OPENSSL_4' /usr/bin/ld: /lib/x86_64-linux-gnu/libgdal.so.34: undefined reference to `curl_mime_name@CURL_OPENSSL_4' /usr/bin/ld: /lib/x86_64-linux-gnu/libgdal.so.34: undefined reference to `curl_mime_filename@CURL_OPENSSL_4' /usr/bin/ld: /lib/x86_64-linux-gnu/libgdal.so.34: undefined reference to `curl_multi_info_read@CURL_OPENSSL_4' /usr/bin/ld: /lib/x86_64-linux-gnu/libgdal.so.34: undefined reference to `curl_easy_setopt@CURL_OPENSSL_4' /usr/bin/ld: /lib/x86
07-23
gmake: *** [Makefile:146:all] 错误 2 --- stderr: orbbec_camera /usr/bin/ld: /lib/x86_64-linux-gnu/libnetcdf.so.19: undefined reference to `curl_global_cleanup@CURL_OPENSSL_4' /usr/bin/ld: /lib/libgdal.so.30: undefined reference to `curl_easy_getinfo@CURL_OPENSSL_4' /usr/bin/ld: /lib/libgdal.so.30: undefined reference to `curl_multi_cleanup@CURL_OPENSSL_4' /usr/bin/ld: /lib/libgdal.so.30: undefined reference to `curl_multi_perform@CURL_OPENSSL_4' /usr/bin/ld: /lib/x86_64-linux-gnu/libnetcdf.so.19: undefined reference to `curl_global_init@CURL_OPENSSL_4' /usr/bin/ld: /lib/libgdal.so.30: undefined reference to `curl_easy_perform@CURL_OPENSSL_4' /usr/bin/ld: /lib/libgdal.so.30: undefined reference to `curl_mime_init@CURL_OPENSSL_4' /usr/bin/ld: /lib/libgdal.so.30: undefined reference to `TIFFReadRGBAStripExt@LIBTIFF_4.0' /usr/bin/ld: /lib/libgdal.so.30: undefined reference to `curl_easy_init@CURL_OPENSSL_4' /usr/bin/ld: /lib/libgdal.so.30: undefined reference to `TIFFReadFromUserBuffer@LIBTIFF_4.0' /usr/bin/ld: /lib/libgdal.so.30: undefined reference to `curl_multi_add_handle@CURL_OPENSSL_4' /usr/bin/ld: /lib/libgdal.so.30: undefined reference to `curl_multi_remove_handle@CURL_OPENSSL_4' /usr/bin/ld: /lib/libgdal.so.30: undefined reference to `TIFFGetStrileOffsetWithErr@LIBTIFF_4.0' /usr/bin/ld: /lib/libgdal.so.30: undefined reference to `curl_mime_addpart@CURL_OPENSSL_4' /usr/bin/ld: /lib/libgdal.so.30: undefined reference to `curl_version_info@CURL_OPENSSL_4' /usr/bin/ld: /lib/libgdal.so.30: undefined reference to `curl_mime_name@CURL_OPENSSL_4' /usr/bin/ld: /lib/libgdal.so.30: undefined reference to `TIFFGetStrileOffset@LIBTIFF_4.0' /usr/bin/ld: /lib/libgdal.so.30: undefined reference to `TIFFGetStrileByteCount@LIBTIFF_4.0' /usr/bin/ld: /lib/libgdal.so.30: undefined reference to `curl_mime_filename@CURL_OPENSSL_4' /usr/bin/ld: /lib/libgdal.so.30: undefined reference to `curl_multi_info_read@CURL_OPENSSL_4' /usr/bin/ld: /lib/libgdal.so.30: undefined reference to `curl_s
07-21
评论
成就一亿技术人!
拼手气红包6.0元
还能输入1000个字符
 
红包 添加红包
表情包 插入表情
 条评论被折叠 查看
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

LutingWang

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值