当前位置: 首页 > 面试题库 >

下载tar.gz软件包时不支持的协议

米俊喆
2023-03-14
问题内容

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

在CMake 2.8中,它的工作方式像一个魅力,但是,升级后,它失败了。

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

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()允许httphttps协议下载外部项目。
  2. 使用URL选项,ExternalProject_Add()仅允许http,但不允许https协议下载外部项目。

问题:

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

错误:

[ 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_REPOSITORYinsted URL选项。

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

luacov下载并成功构建。

对于任何https协议,请使用功能DOWNLOAD_COMMAND选项ExternalProject_Add()

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

并按预期工作。

谢谢。



 类似资料:
  • 下面列出了一些最重要API/软件包/应用程序的创建人和维护人,很多人员与MySQL一起使用了它们。 我们无法在此列出所有的软件包,这是因为,如果这样,该列表将很难维护。关于其他软件包,请访问软件门户站点http://solutions.mysql.com/software/。 ·Tim Bunce, Alligator Descartes DBD (Perl)接口。 ·Andreas Koenig

  • 问题内容: 我已经安装了nltk包。接下来我尝试下载 支持包使用nltk.下载()和我收到错误: [错误号11001]getaddrinfo 我的机器/软件详细信息如下: OS:Windows 8.1 Python:3.3.4 NLTK包:3.0 下面是在python中运行的命令: 看来它会鉴于最好是从. 在另一台机器上打字在浏览器,它重定向到. 我不是了解为什么重定向不会发生在我的笔记本电脑上。

  • 我很困惑。我已经做了十几次这个过程,从来没有遇到过这个问题。 我为乌班图安装了最新版本的R 我输入R,没有任何问题,给我最新的版本,我可以加载原生包。 但当我尝试安装新的软件包时,它们会下载,但我什么也没得到。例如,如果我安装ggplot2: 我已经彻底清除了很多次文件,但运气都不好。 我以 root 用户身份登录。 我觉得我遗漏了什么明显的东西?我不知道——我在Ubuntu、Mac、Window

  • 问题内容: 我不知道从哪里可以获得com.sun.net.httpserver软件包?我喜欢在Android中使用此软件包。 谢谢! 问题答案: 它是Java SE 6的一部分 。它没有单独发布,也未包含在Android中。我建议寻找HTTP服务器的另一个轻量级Java实现,例如i-Jetty。

  • 下面的代码是TCP客户端的套接字编程示例。 但当我运行该操作时,connect()作为协议不支持的地址族返回。