4

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" && make

問題 #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 の 2 番目の宣言をコメントアウトした後、コンパイルしましたが、 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 のサポートは約 1 年前に追加されました。Mono 自体はバージョン 3.0.4以降、MIPS を完全にサポートする必要があります。

4

1 に答える 1

5

同じ問題 (MIPS プラットフォーム用の Mono の構築) に苦しむ他のすべての人のために、この情報を投稿します。

最後に、次のコマンド ラインを使用して、MIPS プラットフォーム用の mono ランタイムをビルドすることができました。

./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"

すべてのツールに -EL フラグを指定すると、ld を使用したモノリンクの問題が修正されました (私の最初の投稿の問題 #2 を参照してください)。

最後に残った問題は、モノ ビルド システムを作成して mscorlib.dll をビルドすることです。mcs/class フォルダー内で別のmakeコマンドを呼び出しても何も起こりません。

于 2013-03-26T07:53:58.790 に答える