#1
|
|||
|
|||
Re: mono
Semen Panevin написал(а) к All в Jan 15 15:17:58 по местному времени:
Доброго здоровьица тебе, All! * Оригинал написан в RU.LINUX.GENTOO * Скопировано в RU.LINUX Ого, полтора годика прошло однако... Итак, очередные полтора дня экспериментов - и мне таки это удалось! Это - это собрать mono под gentoo x86. Кратко поделюсь опытом, вдруг ещё кому будет интересно. # uname -a Linux server 3.10.17-gentoo #1 SMP Sat Dec 7 15:16:27 MSK 2013 i686 Intel(R) Pentium(R) CPU G630 @ 2.70GНz GenuineIntel GNU/Linux # gcc --version gcc (Gentoo Нardened 4.8.3 p1.1, pie-0.5.9) 4.8.3 # mono --version Mono JIT compiler version 3.10.0 (tarball Wed Jan 7 13:02:50 MSK 2015) Собрать удалось только 3.10.0, более ранние не получилось. Взял за основу последний из имеющихся в официальном репозитории ебилдов, что-то типа 3.2.8 и начал эксперименты. Первым делом напоролся на кучу error в логе всвязи с отсутствующими файлами, что вероятно приводило в итоге к NullReferenceException уже при сборке чего-то типа *.csharp.dll и всё падало. Заподозрил неладное, поменял MAKEOPTS на -j1 После чего - о чудо! - фаза compile успешно прошла! Но радостно начали падать на фазе install с ошибками что каки-то там .zip не найдены. Гугль помог - оказывается такое может быть если запускать билд из другого рабочего каталога, не того в который исходники распакованы, ибо где-то там в конфигах относительные пути и по ним ничё не находится. Полез разбираться, почему же билд запускается не из нужного каталога - нашёл в / var / tmp / portage / blah-blah-blah / work аж ДВА каталога. Один - распакованные исходники, другой - такое же имя с суфиксом _work и там только какие-то конфиги и мейкфайлы. Удивился. Начал искать кто же такое делает. Нашёл что так чудит autotools-utils который непонятно зачем заюзали в ебилде. Заменил на econf и emake. Стало лучше. Все нужные .zip при билде появились. Но install упал снова. На сей раз с сандбоксовым access violation - мейк пытался создать каталог / usr / share / что-то-там при инсталле libgc/doc Полез ковырять мейкфайл, а там захардкоженный путь... Ну или ошиблись в выборе переменной... Мейкфайлы бы там нафик отрефакторить, мусор почистить... в общем вылечил sed-ом на этапе src_prepare и вуаля, щастье пришло! Моно успешно скомпилился и установился! xsp и mod_mono тоже, осталось попробовать всё это склеить и налабать тестовую asp.net аппликуху под апачем :) Saturday June 29 2013 00:01, Semen Panevin послал All: SP> Доброго здоровьица тебе, All! SP> * Оригинал написан в RU.LINUX SP> * Скопировано в RU.LINUX.GENTOO SP> А кому-нить удавалось в последнее время скомпилить mono, в частности SP> из gentoo portages? SP> У меня не собирается ни 2.10, ни 2.11, ни 3.0.x SP> Причём та что типа stable в портагесах, 2.10.х, собирает компилятор а SP> потом падает на сборке Mono.CSharp.dll, говорит типы не конвертятся... SP> make[8]: Entering directory SP> `/var/tmp/portage/dev-lang/mono-2.10.9-r2/work/mono-2.10.9/mcs/class/M SP> ono.CShar p' MCS [net20] SP> Mono.CSharp.dll ../../mcs/constant.cs(1608,77): error CS0584: Internal SP> compiler error: Missing constant conversion between `ulong' and SP> `float' ../../mcs/constant.cs(1608,68): error CS0019: Operator `||' SP> cannot be applied to operands of type `bool' and SP> `object' ../../mcs/constant.cs(1731,77): error CS0584: Internal SP> compiler error: Missing constant conversion between `ulong' and SP> `double' ../../mcs/constant.cs(1731,68): error CS0019: Operator `||' SP> cannot be applied to operands of type `bool' and `object' Compilation SP> failed: 4 error(s), 0 warnings SP> С наилучшими пожеланиями, Семён. SP> ... Век живи, век учись! С наилучшими пожеланиями, Семён. ... От правды далеко не убежишь (с) Sage --- GoldED+/LNX 1.1.5-b20130910 (Linux 3.10.17-gentoo iF6M10) |