Промчавшись и так ничего не добившись с 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 # ограничение на максимальный размер адресного пространства
Dotnet вместо mono
Re: Dotnet вместо mono
Обратил внимание, что при попытке запустить сервис ejudge start, выдает ошибку
ej-compile-control: failed to start ej-compile, please see the logs
только какой лог и где смотреть не понятно.
ej-compile-control: failed to start ej-compile, please see the logs
только какой лог и где смотреть не понятно.
Re: Dotnet вместо mono
Нашел лог в файле 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?
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?
Re: Dotnet вместо mono
Продолжаем разговор...
Получилось подключить dotnet.
Нужно было запустить ejudge-configure-compilers и указать его вручную.
Правда предварительно я сделал права ejudge на папку .dotnet.
Теперь система запускается, dotnet виден в системе, но при попытки компиляции выдает ошибку
Compilation error
Failed to create CoreCLR, HRESULT: 0x8007000E
Compilation failed.
Разбираемся дальше
Получилось подключить dotnet.
Нужно было запустить ejudge-configure-compilers и указать его вручную.
Правда предварительно я сделал права ejudge на папку .dotnet.
Теперь система запускается, dotnet виден в системе, но при попытки компиляции выдает ошибку
Compilation error
Failed to create CoreCLR, HRESULT: 0x8007000E
Compilation failed.
Разбираемся дальше