5

我正在尝试使用来自 android ndk(版本 r8e)的 ndk 独立工具链构建单声道,但我无法完成构建。

我像这样设置我的独立环境:

export SYSROOT=/home/jeremybell/Desktop/android-ndk-r8e/platforms/android-14/arch-arm
/home/jeremybell/Desktop/android-ndk-r8e/build/tools/make-standalone-toolchain.sh --platform=android-14 --install-dir=./android-14-toolchain

接下来,我配置单声道。我正在使用类似于此处显示的示例的内容:http: //permalink.gmane.org/gmane.comp.gnome.mono.patches/181374

除了一些差异。首先,我在运行 configure 之前导出每个变量(AR、AS、CC 等),包括 SYSROOT(配置脚本不再需要 --sysroot=/path/to/sysroot 选项)。其次,我添加了 --with-sgen=yes --disable-boehm

这是我的环境和我的 autogen.sh 命令:

export NDK=/home/jeremybell/Desktop/android-ndk-r8e
export SYSROOT=$NDK/platforms/android-14/arch-arm
export NDK_STANDALONE=/home/jeremybell/Desktop/monodevsrc/ndk_standalone
export PATH=$NDK_STANDALONE/bin:$PATH
export CC=arm-linux-androideabi-gcc
export CXX=arm-linux-androideabi-g++
export AR=arm-linux-androideabi-ar
export AS=arm-linux-androideabi-as
export CPP=arm-linux-androideabi-cpp
export LD=arm-linux-androideabi-ld
export RANLIB=arm-linux-androideabi-ranlib
export STRIP=arm-linux-androideabi-strip
./autogen.sh --build=`./config.guess` --host=armv5-linux-androideabi --target=armv5-linux-androideabi --enable-nls=no --with-mcs-docs=no --enable-mcs-build=no --with-glib=embedded --with-monodroid=yes CFLAGS="-DARM_FPU_NONE=1" CXXFLAGS="-DARM_FPU_NONE=1"

配置似乎运行良好,但在构建 mono_sgen-main.o 时 make 失败:

  CC     libmini_static_la-tramp-arm.lo
  CC     libmini_static_la-mini-posix.lo
  CXXLD  libmini-static.la
  CC     mono_sgen-main.o
main.c:7:22: fatal error: buildver.h: No such file or directory
compilation terminated.
make[4]: *** [mono_sgen-main.o] Error 1
make[4]: Leaving directory `/home/jeremybell/Desktop/monodevsrc/mono/mono/mini'
make[3]: *** [all] Error 2
make[3]: Leaving directory `/home/jeremybell/Desktop/monodevsrc/mono/mono/mini'
make[2]: *** [all-recursive] Error 1
make[2]: Leaving directory `/home/jeremybell/Desktop/monodevsrc/mono/mono'
make[1]: *** [all-recursive] Error 1
make[1]: Leaving directory `/home/jeremybell/Desktop/monodevsrc/mono'
make: *** [all] Error 2

违规行:

#include <config.h>
#include "mini.h"
#ifndef HOST_WIN32
#ifdef HAVE_SGEN_GC
#include "buildver-sgen.h"
#else
#include "buildver.h"
#endif
#endif

所以,看起来 HAVE_SGEN_GC 没有定义,但应该是?我在某个地方错过了一步吗?

谢谢!

更新:这个构建问题似乎出现在分支 mono-2-10-8 和 master 之间。我可以使用 mono-2-10-8 分支构建良好。希望这会有所帮助。

4

0 回答 0