我正在尝试编译项目镶木地板-cpp:https://github.com/apache/parquet-cpp
当我犯时,这是我得到的错误:
[ 1%] Performing download step (download, verify and extract) for 'arrow_ep'
-- downloading...
src='https://github.com/apache/arrow/archive/a8f8ba0cbcf5f596f042e90b7a208e7a0c3925b7.tar.gz'
dst='/home/D070470/workspace/parquet-cpp/arrow_ep-prefix/src/a8f8ba0cbcf5f596f042e90b7a208e7a0c3925b7.tar.gz'
timeout='none'
CMake Error at arrow_ep-stamp/download-arrow_ep.cmake:22 (message):
error: downloading
'https://github.com/apache/arrow/archive/a8f8ba0cbcf5f596f042e90b7a208e7a0c3925b7.tar.gz'
failed
status_code: 1
status_string: "unsupported protocol"
log: libcurl was built with SSL disabled, https: not supported!
unsupported protocol
CMakeFiles/arrow_ep.dir/build.make:86: recipe for target 'arrow_ep-prefix/src/arrow_ep-stamp/arrow_ep-download' failed
make[2]: *** [arrow_ep-prefix/src/arrow_ep-stamp/arrow_ep-download] Error 1
CMakeFiles/Makefile2:63: recipe for target 'CMakeFiles/arrow_ep.dir/all' failed
make[1]: *** [CMakeFiles/arrow_ep.dir/all] Error 2
Makefile:126: recipe for target 'all' failed
make: *** [all] Error 2
我正在运行SUSE Linux版本12.1,uname-r
提供了3.12.74-60.64.40-default
我尝试用zypper remove curl
去除卷曲,但错误保持不变,这令人惊讶。
当我打印curl --version
时,我得到
curl 7.37.0 (x86_64-suse-linux-gnu) libcurl/7.37.0 OpenSSL/1.0.1i zlib/1.2.8 libidn/1.28 libssh2/1.4.3
Protocols: dict file ftp ftps gopher http https imap imaps ldap ldaps pop3 pop3s rtsp scp sftp smtp smtps telnet tftp
Features: AsynchDNS GSS-Negotiate IDN IPv6 Largefile NTLM NTLM_WB SSL libz TLS-SRP
这表明 curl 实际上具有 SSL 功能。
cmake 仍然运行 curl 并在甚至没有安装 curl 时出现错误这一事实可能表明 cmake 使用自己的版本?
所以cmake确实使用了自己的curl版本。
我不得不在这里下载 cmake 源代码 https://cmake.org/download/并使用./bootstrap --system-curl
、make
和make install
来获得使用系统卷曲的 cmake 版本。我还需要安装软件包libcurl-devel
.