我正在尝试编译项目parquet-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,但错误保持不变,这是令人惊讶的。
当我打印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使用自己的版本?
答案 0 :(得分:9)
所以cmake确实使用了自己的curl版本。
我必须在这里下载cmake来源https://cmake.org/download/
并使用./bootstrap --system-curl
,make
和make install
来生成使用系统卷曲的cmake版本。我还需要安装包libcurl-devel
。