DebianSidを実行しているCaviumOCTEON(mips64)用に(gitから)monoをコンパイルしようとしています。
OCTEONで完全にコンパイルしようとすると(既存のmonoインストールを一切使用せずに)、mcsディレクトリまで到達して問題が発生します。問題は、機能するgmcがないことに関連しています。make get-monolite-latestの推奨パスが機能しません(コアバージョンが間違っている、まだgmcsがないなど)。
これに対抗するために、ARM用にmonoをクロスコンパイルするプロセスを試しました。もちろん、私は高速のMIPハードウェアを持っているので、スクラッチボックスは使用しません。
分割ビルドプロセスではエラーは発生しません。OCTEONにインストールすると、(x86_64システムのgmcsを介して)既にコンパイルされているC#プログラムを実行できます。ただし、OCTEONのソースからコンパイルできません。したがって、ILランタイムは機能しているように見えますが、コンパイラーは機能しません。
たとえば、http://www.mono-project.com/Mono_Basicsから単純なhello worldをコンパイルすると、次のようになります。
root@OCTEON:~# gmcs helloWorld.cs
error CS0518: The predefined type `System.Object' is not defined or imported
error CS0518: The predefined type `System.ValueType' is not defined or imported
error CS0518: The predefined type `System.Attribute' is not defined or imported
error CS0518: The predefined type `System.Int32' is not defined or imported
error CS0518: The predefined type `System.UInt32' is not defined or imported
error CS0518: The predefined type `System.Int64' is not defined or imported
error CS0518: The predefined type `System.UInt64' is not defined or imported
error CS0518: The predefined type `System.Single' is not defined or imported
error CS0518: The predefined type `System.Double' is not defined or imported
error CS0518: The predefined type `System.Char' is not defined or imported
error CS0518: The predefined type `System.Int16' is not defined or imported
error CS0518: The predefined type `System.Decimal' is not defined or imported
error CS0518: The predefined type `System.Boolean' is not defined or imported
error CS0518: The predefined type `System.SByte' is not defined or imported
error CS0518: The predefined type `System.Byte' is not defined or imported
error CS0518: The predefined type `System.UInt16' is not defined or imported
error CS0518: The predefined type `System.String' is not defined or imported
error CS0518: The predefined type `System.Enum' is not defined or imported
error CS0518: The predefined type `System.Delegate' is not defined or imported
error CS0518: The predefined type `System.MulticastDelegate' is not defined or imported
error CS0518: The predefined type `System.Void' is not defined or imported
error CS0518: The predefined type `System.Array' is not defined or imported
error CS0518: The predefined type `System.Type' is not defined or imported
error CS0518: The predefined type `System.Collections.IEnumerator' is not defined or imported
error CS0518: The predefined type `System.Collections.IEnumerable' is not defined or imported
error CS0518: The predefined type `System.IDisposable' is not defined or imported
error CS0518: The predefined type `System.IntPtr' is not defined or imported
error CS0518: The predefined type `System.UIntPtr' is not defined or imported
error CS0518: The predefined type `System.RuntimeFieldHandle' is not defined or imported
error CS0518: The predefined type `System.RuntimeTypeHandle' is not defined or imported
error CS0518: The predefined type `System.Exception' is not defined or imported
Compilation failed: 31 error(s), 0 warnings
近くにいるような気がしますが、一歩足りません。それはmscorelib.dllを見つけていないかのようです。それでも、そのファイルはプレフィックスパスの下に存在するようです。
root@OCTEON# find . | grep -i mscor
./2.0/mscorlib.dll
./2.0/mscorlib.dll.mdb
./2.0/mscorlib.dll.so
./4.5/mscorlib.dll
./4.5/mscorlib.dll.mdb
./4.5/mscorlib.dll.so
./4.0/mscorlib.dll
./4.0/mscorlib.dll.mdb
mcsコードを調べてその流れと何が問題になっているのかを理解する前に、ここにいる誰かが問題に光を当てて正しい方向に向けてくれることを期待していました。私は何かを逃したことがありますか?明らかな修正はありますか?