2013-03-25 171 views
3

我正在爲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。

回答

4

我張貼的其他人誰都會有同樣問題的(建設單爲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文件夾中沒有做任何事情。

+0

謝謝!我只是遇到了同樣的問題,它有幫助! – inbaly 2014-11-10 07:58:33