首页 > 解决方案 > 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% 证明构建过程没有改变(因为它是手动完成的),但我不相信它有很大不同。

标签: cmakelog4cxx

解决方案


起初,我以为我的 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

这里希望这可以帮助人们不会被困住,期望构建像一个月前那样工作。


推荐阅读