Всем доброго времени суток.
Кто-нибудь сможет помочь, подсказать, как собрать Mono под armhf под Debian на Freescale imx6dl? Исходники брал как с официального гита, так и из tar-архивов с офсайта mono. Перепробовал ветки 3.8.0, 3.10.0, 3.12.0 – не собирается ни одна (master, говорят, вообще на arm не работает). Собирал по инструкции отсюда и отсюда, прямо на «пациенте» безо всяких виртуалок и qemu-arm-static. Пробовал и через make get_monolite_latest && make EXTERNAL_MCS=”<путь к mcs из monolite>” и через предварительно установленный из репозиториев Mono.
Какие бы ключи, опции, ветки ни пробовал, во всех случаях процесс через ~ 2 часа доходит до успешной сборки компилятора mcs.exe и отваливается при попытке им что-либо откомпилировать (если быть точным, то mscorlib.dll для .net 2.0) без конкретных ошибок.
Такое ощущение, что этот mcs.exe компилируется как-то некорректно. Его не удается вручную заставить работать ни через установленный в системе mono (с ключом --runtime=<…>, с переменной окружения MONO_PATH), ни через mono_wrapper, который используется для вызова этого mcs.exe из make (как я понял mono_wrapper – это урезанная версия mono, собираемая специально для запуска компилятора mcs.exe). Какие опции ему не подавай – он просто никак отвечает на вывод, не реагируя ни на --help, ни на --version, ни даже на «мусор». В то же время mono_wrapper хотя бы реагирует на --help и умеет ругаться на неизвестные опции.
Другие утилитки, собранные вместе с mcs.exe и лежащие рядом, запускаются через mono_wrapper нормально, пишут себе что-то на терминал.
Сам же процесс компиляции завершается такими вот нехитрыми строками (это с make V=1):
make[8]: Entering directory `/usr/src/mono-3.8.0/mcs/class/corlib'
MONO_PATH="./../../class/lib/build:$MONO_PATH" /usr/src/mono-3.8.0/runtime/mono-wrapper ./../../class/lib/build/mcs.exe /codepage:65001 -unsafe -nostdlib -nowarn:612,618 -d:INSIDE_CORLIB -d:LIBC -d:NET_1_1 -d:NET_2_0 -nowarn:1699 -nostdlib -lib:./../../class/lib/net_2_0 -debug -optimize /noconfig -resource:resources/collation.core.bin -resource:resources/collation.tailoring.bin -resource:resources/collation.cjkCHS.bin -resource:resources/collation.cjkCHT.bin -resource:resources/collation.cjkJA.bin -resource:resources/collation.cjkKO.bin -resource:resources/collation.cjkKOlv2.bin --runtime:v2 -target:library -out:../../class/lib/net_2_0/mscorlib.dll @corlib.dll.sources
make[8]: *** [../../class/lib/net_2_0/mscorlib.dll] Error 1
make[8]: Leaving directory `/usr/src/mono-3.8.0/mcs/class/corlib'
make[7]: *** [do-all] Error 2
<<Leaving directory 7 раз>>
make: *** [all] Error 2