在没有 Bash 的情况下构建 Mono:doltlibtool 中的语法错误

Building Mono Without Bash: Syntax Error in doltlibtool

我正在 android 设备上构建单声道,在构建运行时出现错误 ./doltlibtool

make[4]: Entering directory `/bld/mono/mono-4.0.0/eglib/src'
  CC       libeglib_la-garray.lo
../doltlibtool: line 4: syntax error: unexpected "("

这是 doltlibtool 的第 4 行:

1 #!/bin/bash                                                                          
2 top_builddir_slash="${0%%doltlibtool}"
3 : ${top_builddir_slash:=./}
4 args=()
5 modeok=false                                                                         
6 tagok=false

据我所知,问题是因为我没有使用 bash。有什么方法可以在不构建和使用 bash 的情况下解决这个问题?

更正 我正在使用 bash...但是 bash 的 busybox 版本并不是真正的 bash,因此不支持数组。

来自 mono-devel 邮件列表,我向其发布了问题: 是否可以在没有 bash 的情况下构建单声道?

It is unlikely. Your best bet is to cross compile.

不处理数组的 Shell(例如默认的 Android shell 或 KBOX 中的默认 shell...这是 bash 的 busybox 版本)编译 mono 4.0.0 时不能使用。特别是行

args=()

会报错。

我最终下载了 bash 源代码并在尝试构建单声道之前构建它