我击中了a problem -我发现了非常奇怪的情况:
autoreconf -i,得到正确而健壮的./configure脚本。autoreconf -i,但在Gitlab下运行。而且我的./configure脚本也坏了--一些M4宏没有被替换成它们的shell代码,所以Bash不能执行它们并将它们作为语法错误来处理。不同之处在于两次运行中的m4/文件夹:成功的m4/文件夹包含以下文件:
aria2_arg.m4
ax_check_compile_flag.m4
ax_cxx_compile_stdcxx_11.m4
codeset.m4
fallocate.m4
fcntl-o.m4
gettext.m4
... # and so on但是,在失败的(Gitlab ) m4/文件夹中有:
gettext.m4
fcntl-o.m4
# ... and so onaria2_arg.m4,ax_check_compile_flag.m4,ax_cxx_compile_stdcxx_11.m4,fallocate.m4和其他人失踪了。我不知道如果码头的形象在这两种情况下是一样的,但是.autoreconf 如何创建 m4/ 文件夹?如果它的内容来源是Docker映像本身(我不知道这是真的,这只是我的建议),那么为什么这两种情况下的内容是不同的呢?
发布于 2021-01-23 12:10:09
没有魔法。丢失的m4文件确实存在于原始的Aria2 Github存储库( m4/)文件夹中。autoreconf -i向此文件夹添加另一个.m4文件。但是它有.gitignore和.m4规则。我将它添加到另一个git (在Gitlab中构建它),但是m4/文件夹被忽略了。所以:
Aria2 -> local folder -> run docker -> OK
Github with m4/ locally m4/ exists工作很好,但是:
Aria2 -> another git repo -> run Gitlab CI -> Failure
Github (now no m4/) (.m4 missing)所以,这个问题的原因似乎是m4/在第二次git回购中的失败(至少我已经获得了第一个成功的构建)。
https://stackoverflow.com/questions/65858308
复制相似问题