针对MIPS的交叉编译Mono框架3.0.6+
我正在为MIPS平台交叉编译Mono框架(3.0.6)。我找到的问题很少,所以我想问问社区是否有知道。针对MIPS的交叉编译Mono框架3.0.6+
我的环境:Linux的3.2.0-39泛型#62-Ubuntu的SMP周四年02月28○时二十八分53秒UTC 2013 x86_64的x86_64的x86_64的GNU/Linux的
工具链:的Sourcery G ++精简版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" && make
问题#1 : 当我设法它来配置,编译停止并出现以下错误:
mini-gc.c:2551: error: redefinition of 'mini_gc_enable_gc_maps_for_aot'
mini-gc.c:2518: error: previous definition of 'mini_gc_enable_gc_maps_for_aot' was here
问题#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 assertion fail /scratch/clm/2008q3-lite/obj/binutils-src-4.3-51-mips-linux-gnu-i686-pc-linux-gnu/bfd/elfxx-mips.c:2651
任何人都可以指出这个问题?我没有找到任何描述为MIPS架构构建Mono的文章/信息(至少有一些最新信息)。根据this的链接,大约一年前增加了对MIPS的支持。自从3.0.4 version以来,Mono本身应该完全支持MIPS。
我张贴的其他人谁都会有同样问题的(建设单为MIPS平台)的斗争这个信息:
最后我能够使用下面的命令行来构建MIPS平台单运行:
./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 -EL" CFLAGS="-mips32r2 -EL" LDFLAGS=-EL CPPFLAGS="-mips32r2 -EL" ASFLAGS=-EL CC="mips-linux-gnu-gcc -EL"
指定所有使用ld进行单声道链接的固定问题的-EL标志(请参阅我的初始文章中的问题#2)。
剩下的最后一个问题是使单声道生成系统生成mscorlib.dll。调用不同的使命令在mcs/class文件夹中没有做任何事情。
谢谢!我只是遇到了同样的问题,它有帮助! – inbaly 2014-11-10 07:58:33