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
.
时,我没有收到任何错误
我不知道您遇到错误的原因,因为我无法复制该问题。
我即将完成在我的 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
.
我不知道您遇到错误的原因,因为我无法复制该问题。