下载tar.gz软件包时不支持的协议 [英] Unsupported protocol while download tar.gz package

查看:312
本文介绍了下载tar.gz软件包时不支持的协议的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我刚刚将我的CMake从2.8版本升级到了3.2。

I have just upgrade my CMake from version 2.8 to 3.2.

在CMake 2.8中,它的工作原理很吸引人,但升级后却失败了。

It's working like a charm in CMake 2.8 but, after the upgrade, it's failing.

我正在尝试使用 ExternalProject_Add() CMake函数构建第三方库。

I'm trying to build third party library using ExternalProject_Add() CMake function.

ExternalProject_Add(
  luacov
  URL https://github.com/keplerproject/luacov/archive/v0.7.tar.gz
  DOWNLOAD_DIR ${EXTERNAL_PROJECT_DOWNLOAD_DIR}
  CMAKE_ARGS -DCMAKE_TOOLCHAIN_FILE=${MY_TOOLCHAIN_FILE}
  SOURCE_DIR ${EXTERNAL_PROJECT_SRC_DIR}/luacov
  BINARY_DIR ${EXTERNAL_PROJECT_BUILD_DIR}/luacov
  UPDATE_COMMAND ""
  PATCH_COMMAND ""
)

我的观察:


  1. 使用 GIT_REPOSITORY 选项, ExternalProject_Add()允许 http https 协议下载外部项目。

  2. 使用 URL 选项, ExternalPro ject_Add()仅允许 http ,但不允许 https 协议下载外部项目。

  1. Using GIT_REPOSITORY option, ExternalProject_Add() allow http and https protocol to download external project.
  2. Using URL option, ExternalProject_Add() only allow http, but not https protocol to download external project.

问题:

有什么办法吗?使用 https 协议下载和构建外部项目?

Is there any way to download and build external project using https protocol?

错误:

[ 16%] Performing download step (download, verify and extract) for 'luacov'
-- downloading...
 src='https://github.com/keplerproject/luacov/archive/v0.7.tar.gz'
 dst='/home/build/my_build/external_projects/downloads/v0.7.tar.gz'
 timeout='none'
CMake Error at /home/build/my_build/luacov-prefix/src/luacov-stamp/download-luacov.cmake:21 (message):
 error: downloading
'https://github.com/keplerproject/luacov/archive/v0.7.tar.gz' failed

status_code: 1
status_string: "Unsupported protocol"
log: Protocol "https" not supported or disabled in libcurl

Closing connection -1

make[3]: *** [luacov-prefix/src/luacov-stamp/luacov-download] Error 1
make[2]: *** [CMakeFiles/luacov.dir/all] Error 2
make[1]: *** [CMakeFiles/luacov.dir/rule] Error 2
make: *** [luacov] Error 2


推荐答案

在我的 ExternalProject_Add(),我已经使用 GIT_REPOSITORY 插入了 URL 选项。

In my ExternalProject_Add(), I have use GIT_REPOSITORY insted of URL option.

#URL https://github.com/keplerproject/luacov/archive/v0.7.tar.gz
GIT_REPOSITORY https://github.com/keplerproject/luacov.git

luacov 下载并成功构建。

对于任何 https 协议,请使用 ExternalProject_Add()函数的> DOWNLOAD_COMMAND 选项。

For any https protocol use DOWNLOAD_COMMAND option of ExternalProject_Add() function.

DOWNLOAD_COMMAND wget https://github.com/keplerproject/luacov/archive/v0.7.tar.gz

及其预期效果。

谢谢。

这篇关于下载tar.gz软件包时不支持的协议的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆