Есть по данному вопросу HOWTO или что-либо?
"В лоб" не идёт (последний снапшот):
$ ./configure --prefix=/cygdrive/c/Nemerle/build --mono-from=/cygdrive/c/Mono-1.2.3/bin --disable-bar
...
$ make
1. выдаёт кучу варнингов на cs2n:
CSharpParser.cs(17396,12): warning CS0642: Possible mistaken empty statement
CSharpParser.cs(17438,17): warning CS0642: Possible mistaken empty statement
CSharpParser.cs(17436,12): warning CS0642: Possible mistaken empty statement
CSharpParser.cs(17515,13): warning CS0642: Possible mistaken empty statement
CSharpLexer.cs(329,12): warning CS0219: The variable `_token' is assigned but its value is never used
CSharpLexer.cs(325,11): warning CS0219: The variable `theRetToken' is assigned but its value is never used
CSharpLexer.cs(743,5): warning CS0162: Unreachable code detected
CSharpLexer.cs(3235,5): warning CS0162: Unreachable code detected
CSharpParser.cs(2242,10): warning CS0219: The variable `exp' is assigned but its value is never used
CSharpParser.cs(2241,10): warning CS0219: The variable `parms' is assigned but its value is never used
CSharpParser.cs(2750,10): warning CS0219: The variable `parms' is assigned but its value is never used
CSharpParser.cs(5452,11): warning CS0219: The variable `r' is assigned but its value is never used
CSharpParser.cs(5621,17): warning CS0219: The variable `st' is assigned but its value is never used
CSharpParser.cs(11943,11): warning CS0219: The variable `id' is assigned but its value is never used
CSharpParser.cs(18504,15): warning CS0169: The private method `Nemerle.CSharp.CSharpParser.initializeFactory()' is never used
2. ещё варнинги при сборке nemerlish
make[2]: Entering directory `/cygdrive/c/Nemerle/tools/nemerlish'
/cygdrive/c/Mono-1.2.3/bin//mono ../../ncc/out.stage3/ncc.exe -r Nemerle.Compiler.dll -t library -keyfile:../../misc/keys/Nemerle.Compiler.snk -o Nemerle.Evaluation.dll eval.n
/cygdrive/c/Mono-1.2.3/bin//mono ../../ncc/out.stage3/ncc.exe -r Nemerle.Evaluation.dll -o nemish.exe -keyfile:../../misc/keys/Nemerle.Compiler.snk main.n interp.n readline.n
main.n:239:22:239:23: ←[01;33mwarning←[0m: N168: a function parameter c was never used
main.n:239:22:239:23: ←[01;32mhint←[0m: replace name with `_' or prefix it like `_bar' to avoid the warning
readline.n:92:3:92:24: ←[01;33mwarning←[0m: N10003: method HacksFramework.tgetnum(_N_u1774 : string) : int is
not externally visible and has never been referenced
make[2]: Leaving directory `/cygdrive/c/Nemerle/tools/nemerlish'
...
3. а потом вообще сваливается м ошибкой:
make[2]: Entering directory `/cygdrive/c/Nemerle/tools/nant-task'
/cygdrive/c/Mono-1.2.3/bin//mono ../../ncc/out.stage3/ncc.exe -L:C:\Mono-1.2.3\lib\NAnt -q -greedy- -r NAnt.D
otNetTasks.dll -r NAnt.Core.dll -out Nemerle.NAnt.Tasks.dll -t:library NantTask.n
←[01;31merror←[0m: cannot find assembly `NAnt.DotNetTasks.dll'
make[2]: *** [Nemerle.NAnt.Tasks.dll] Error 3
make[2]: Leaving directory `/cygdrive/c/Nemerle/tools/nant-task'
Почему не идёт? Вот здесь "-L:C:\Mono-1.2.3\lib\NAnt" хочет "/" вместо "\". Ладно, можно в makefile ручками вбить путь лобешно — некогда разбираться
make отработал. Запускаем make install
...
INSTALL [/cygdrive/c/Nemerle/build/man/man1] ncc.1
make[1]: Leaving directory `/cygdrive/c/Nemerle/doc'
make[1]: Entering directory `/cygdrive/c/Nemerle/ncc'
/bin/sh: gacutil.exe: command not found
make[1]: *** [install] Error 127
make[1]: Leaving directory `/cygdrive/c/Nemerle/ncc'
...
Оно и понятно — в моно 1.2.3 не gacutil.exe, а gacutil.bat. Меняем в config.mak ручками и опять запускаем `make install`
Почему-то много сыпется сообщений
make[2]: Nothing to be done for `all'.
Но может так и надо. Но вот и очередная ошибка:
INSTALL Nemerle.NAnt.Tasks.dll
install: cannot change permissions of `C:Mono-1.2.3libNAnt': No such file or directory
make[2]: *** [install] Error 1
make[2]: Leaving directory `/cygdrive/c/Nemerle/tools/nant-task'
make[1]: *** [install] Error 2
make[1]: Leaving directory `/cygdrive/c/Nemerle/tools'
make: *** [install] Error 2
Хм, в папке tools/nant-task есть пустая директория Mono-1.2.3libNAnt. Если теперь повторно запустить `make install` сообщение об ошибке изменится:
install: cannot create regular file `C:Mono-1.2.3libNAnt/Nemerle.NAnt.Tasks.dll': No such file or directory
Копирование в указанную директорию искомой dll-ки результат не приносит. Куда рыть дальше?
У меня нет уверенности, что это я чего-то не напортачил, посему сначала рискнул поинтересоваться здесь
Здравствуйте, cl-user, Вы писали:
Правда, без исправления результатов ./configure... всё равно не обходится
Хммм.... Собирал на cygwin, но не под моно, а под MS .NET 2.0, ничего не правил
... << RSDN@Home 1.2.0 alpha rev. 655>>
Здравствуйте, VladD2, Вы писали:
CU>>А-а-а, сам дурак Всё работает. Правда, без исправления результатов ./configure... всё равно не обходится
VD>А как же Немерловцы то все это под Линуксом собирают?
Дык я же не под линуксом, а под цигвиком.
Всё, что пришлось править — заменить слэши (один из путей получается не от cygpath, а от какой-то проги -> в стандартной виндовой нотации — как это лечить не думал пока) и у gacutil поменять расширение с .exe на .bat (в моно-1.2.3 уже батник) — скорее всего в ./configure надо вообще убрать расширение, но будет ли работать — не проверял.