我正在尝试为 MIPS 平台交叉编译 Mono 框架(3.0.6)。我发现的问题很少,所以我想问问社区是否已知。
我的环境:Linux 3.2.0-39-generic #62-Ubuntu SMP Thu Feb 28 00:28:53 UTC 2013 x86_64 x86_64 x86_64 GNU/Linux
工具链:Sourcery G++ Lite 4.3-51
命令行:
./configure --prefix=/home/dev/mono-3.0.6-mips --host=mips-linux-gnu --enable-minimal=profiler,debug,logging,soft_debug --without-mcs-docs -- target=mips-linux-gnu --with-moonlight=no --with-tls=pthread --with-sigaltstack=no --with-profile4_5=yes CXXFLAGS="-mips32r2 -march=24kf -mtune=24kf -EL " CFLAGS="-mips32r2 -march=24kf -mtune=24kf -EL" && 使
问题 #1:当我管理它进行配置时,编译停止并出现以下错误:
mini-gc.c:2551:错误:重新定义“mini_gc_enable_gc_maps_for_aot”
mini-gc.c:2518:错误:“mini_gc_enable_gc_maps_for_aot”的先前定义在这里
问题 #2:在我注释掉mini_gc_enable_gc_maps_for_aot的第二个声明后,它编译但看起来 Sourcery G++ 链接器崩溃了:
/home/dev/mips-4.3/bin/../lib/gcc/mips-linux-gnu/4.3.2/../../../../mips-linux-gnu/bin/ld: BFD (Sourcery G++ Lite 4.3-51) 2.18.50.20080215 断言失败 /scratch/clm/2008q3-lite/obj/binutils-src-4.3-51-mips-linux-gnu-i686-pc-linux-gnu/bfd/elfxx -mips.c:2651
任何人都可以解决这个问题吗?我找不到任何描述为 MIPS 架构构建 Mono 的文章/信息(至少是一些最近的信息)。根据此链接,大约一年前添加了对 MIPS 的支持。Mono 本身应该从3.0.4 版本开始完全支持 MIPS 。