Autotools ./configure 在 config.status 期间失败:由于 MKDIR_P 定义不正确,在 alpine 中执行 depfiles 命令

Autotools ./configure fails during config.status: executing depfiles commands in alpine due to incorrect MKDIR_P definition

我正在尝试将之前在 Debian 容器中创建的服务移动到 Alpine 中以保存 space。我认为这很容易,Alpine 支持 autotools/autoconf!我错了,大错特错。

在我们的项目根目录中 运行ning autoreconf -vfi 之后,我会 运行 ./configure。此步骤在 config.status 脚本中的 executing depfiles commands 期间会失败,因为出于某种原因 MKDIR_P 变量被定义为 -d。从文档 here 中读取,这似乎与使用 install 而不是 mkdir.

有关

我不明白为什么选择 install 形式,因为 mkdir -p 在我的容器中绝对有效。我们的 configure.ac 不包含第一个参考中包含的任何宏。

我能够解决这个问题的唯一方法是更改​​ ./configure 步骤。

autoreconf -vfi && ./configure MKDIR_P="mkdir -p"

这会在后续构建步骤中强制 MKDIR_P 变量 = "mkdir -p"。

更新

进一步查看 configure.ac 脚本后,似乎是指定 aux 目录位置的行 AC_CONFIG_AUX_DIR 引起的。删除它似乎可以为合适的 MKDIR_P 值提供合理的结果。