Самозагрузка моно на OCTEON (mips64) дает рабочую среду выполнения, но gmcs не работает - PullRequest
1 голос
/ 16 февраля 2012

Я пытаюсь скомпилировать моно (из git) для Cavium OCTEON (mips64) под управлением Debian Sid.

Если я попытаюсь скомпилировать полностью на OCTEON (без какой-либо существующей моно-установки), он дойдет до каталога mcs, а затем столкнется с проблемой. Проблемы связаны с отсутствием функционала gmcs. Предложенный путь make get-monolite-latest не работает (неправильные версии ядра, все еще нет gmcs и т. Д.).

Чтобы бороться с этим, я попробовал процессы кросс-компиляции mono для ARM . Конечно, у меня есть быстрое аппаратное обеспечение MIP, поэтому я не пользуюсь блокнотом.

Процесс разделения не дает ошибок. После установки на OCTEON я могу запускать программы на C #, которые уже скомпилированы (через gmcs в системе x86_64). Тем не менее, я не могу скомпилировать из источника на OCTEON. Итак, среда выполнения IL, похоже, работает, а компилятор - нет.

Например, компиляция простого привет-мира из http://www.mono -project.com / Mono_Basics дает следующее:

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, чтобы понять, как он работает и что происходит не так, я надеялся, что кто-то здесь сможет пролить свет на проблему и указать мне правильное направление. Я что-то пропустил? Есть ли какое-то очевидное исправление?

...