Dotnet вместо mono

Обсуждение вопросов, связанных с системой проведения турниров ejudge.
Post Reply
zayarniy2
Posts: 24
Joined: 24 August 2014, 10:24

Dotnet вместо mono

Post by zayarniy2 » 23 November 2021, 12:10

Промчавшись и так ничего не добившись с mono, вычитал, что теперь есть поддержка dotnet и решил попробовать ее.
Установил dotnet 6, проверил, что из командной строки все работает попробовал подключить ее в систему и опять ничего не получается.
Подскажите, что еще нужно сделать после помещения в compile.cfg этих строк?

[language]
id = 73
short_name = "dotnet-cs"
long_name = ".NET C# compiler 3.0.100"
src_sfx = ".cs"
insecure
arch = "dotnet"
exe_sfx = ".dll"
run_max_stack_size = 8M # уменьшаем размер системного стека до минимального
run_max_vm_size = 4G # ограничение на максимальный размер адресного пространства

zayarniy2
Posts: 24
Joined: 24 August 2014, 10:24

Re: Dotnet вместо mono

Post by zayarniy2 » 24 November 2021, 02:19

Обратил внимание, что при попытке запустить сервис ejudge start, выдает ошибку

ej-compile-control: failed to start ej-compile, please see the logs

только какой лог и где смотреть не понятно.

zayarniy2
Posts: 24
Joined: 24 August 2014, 10:24

Re: Dotnet вместо mono

Post by zayarniy2 » 25 November 2021, 10:13

Нашел лог в файле ej-super-server.log

2021-11-25T06:45:24Z:info:scanning available contests...
2021-11-25T06:45:24Z:info:scanning available contests done
2021-11-25T06:45:25Z:info:STOP
2021-11-25T06:45:25Z:info:got a termination signal
2021-11-25T06:45:25Z:info:wait for chilren to terminate
2021-11-25T06:45:25Z:info:closing all sockets

В нем информации только о том, что получен сигнал остановки. А откуда он получен, почему произошла остановка - не известно.

Скорее всего при проверке языков из файла compile.cfg система не может найти dotnet, хотя я прописал символическую ссылку на этот язык в папку /user/bin - где лежат другие символические ссылки и теперь могу запустить dotnet из любого места, но это не помогло.

Может у кого-то есть опыт подключения dotnet к ejudge?

zayarniy2
Posts: 24
Joined: 24 August 2014, 10:24

Re: Dotnet вместо mono

Post by zayarniy2 » 27 November 2021, 00:25

Продолжаем разговор...
Получилось подключить dotnet.
Нужно было запустить ejudge-configure-compilers и указать его вручную.
Правда предварительно я сделал права ejudge на папку .dotnet.
Теперь система запускается, dotnet виден в системе, но при попытки компиляции выдает ошибку

Compilation error
Failed to create CoreCLR, HRESULT: 0x8007000E
Compilation failed.

Разбираемся дальше

Post Reply