POSIX Shell 脚本使用 ./configure 抛出语法错误

POSIX Shell Script throws syntax error with ./configure

我即将完成在我的 linux 机器上编译程序的相关性工作。我是 运行 Linux Mint 19 64 位。我似乎无法克服的最后一个障碍是有关配置 shell 脚本中特定行的语法错误。确切的错误是:

./configure:第 1804 行:意外标记附近的语法错误 [foreign]' ./configure: line 1804:AM_INIT_AUTOMAKE([foreign])'

姊妹文件 configure.ac 引用了 AM_INIT_AUTOMAKE([foreign]),如果我删除了 [foreign] 的违规标记,则会出现许多其他错误。所以令牌在某种程度上似乎是必要的。

我能得到的最远的是将括号的内容留空并带有一个空白字符,因此它将显示为:AM_INIT_AUTOMAKE( )。这满足了错误,但将语法错误向下移动了一行:ac_ext=c.

这是有问题的代码部分。

AM_INIT_AUTOMAKE([foreign])
ac_ext=c

这只是 2000 多行文件中的两行。

shell环境是#! /bin/sh

为了彻底,我尝试将环境更改为 bash,但这并没有什么不同。

我做错了什么?

d0_blind_id 程序包 (https://gitlab.com/xonotic/d0_blind_id) 包含一个名为 autogen.sh 的脚本。 运行 此脚本(调用 autoreconf -i)创建 configure。 运行 configure 然后 make.

configure 脚本不应包含 AM_INIT_AUTOMAKE,它是 configure.ac 的一部分,autotools 使用它来生成 configure 脚本。

当我按照这些步骤操作时,当 运行 configure 脚本并且它不包含 AM_INIT_AUTOMAKE.

时,我没有收到任何错误

我不知道您遇到错误的原因,因为我无法复制该问题。