cmake - Apache log4cxx 0.12.0 cmake 脚本在测试配置期间失败
问题描述
版本:apache-log4cxx-0.12.0.tar.gz
配置:
mkdir build; cd build && cmake -DBUILD_SHARED_LIBS=off -DAPR_STATIC=yes -DAPU_STATIC=yes ..
症状(日志片段):
32882 error: downloading 'https://www-us.apache.org/dist/logging/log4j/1.2.17/log4j-1.2.17.tar.gz' failed
32883 status_code: 6
32884 status_string: "Couldn't resolve host name"
32885 log:
32886 --- LOG BEGIN ---
这是上个月才建的。我不能 100% 证明构建过程没有改变(因为它是手动完成的),但我不相信它有很大不同。
解决方案
起初,我以为我的 DNS 解析器已经过时了,但在对 /etc/resolv.conf 进行了一些挖掘和摆弄之后,很明显 www-us.apache.org url log4cxx 用于获取tarball from 已经从地球上消失了。
您可以使用两种方法来解决此问题(我希望有人在我之前发布过)。
第一的
破解您的 /etc/hosts 文件以欺骗 www-us.apache.org 以实际访问 www.apache.org (您将在其中找到链接的重定向)。为了让新手了解我在说什么,这有点像我在 Debian 上的做法。
sudo echo '151.101.2.132 www-us.apache.org' >> /etc/hosts
第二
修复 cmake 脚本 src/test/java/CMakeLists.txt 第 3 行指向正确的链接。破损的是
https://www-us.apache.org/dist/logging/log4j/1.2.17/log4j-1.2.17.tar.gz
正确的是
https://downloads.apache.org/logging/log4j/1.2.17/log4j-1.2.17.tar.gz
挖掘 GitHub 帐户,我们发现此代码已合并,并且(我假设)准备好与下一个版本一起发布,无论何时。
https://github.com/apache/logging-log4cxx/commit/341a23aa0d13278c8ae85b6017d49de9790f00fe
这里希望这可以帮助人们不会被困住,期望构建像一个月前那样工作。
推荐阅读
- javascript - 使用 ALASQL 计算 JSON 对象中的出现次数
- expo - 世博更换装置不工作以及如何更换装置
- javascript - 如何自定义 Material-UI 标签指示器的形状
- tensorflow - 有没有从模型文件 ktrain 加载预测器的方法?
- python - django-user_agent 在扩展页面上不起作用,request.user_agent 没有响应
- sql - 如何在 SQL Server 中设置最后营业日期
- apache-spark - Pyspark 跨列添加
- java - SpringBoot - “favicon.ico”上的 NumberFormatException
- linux - 尝试访问外部硬盘驱动器上的目录时出现“错误消息”
- openapi - 是否可以将 OpenAPI 规范作为 JSON 对象传递给 ReDoc?