Люди, шарящие в ejudge. Пишу сюда, ибо регистрация на форуме ejudg'а ныне закрыта, и там тему создать не могу.
Я нормально установил ejudge , подгружаю без проблем задачи с полигона, e-mail рассылку завел, все языки нормально завелись, но:
1) Mono C# считается небезопасным языком, и если включить безопасность, то для участников этот язык недоступен
2) При выключенной безопасности при посылки кода на шарпе выдается следующая ошибка:
/home/judges//compile/scripts/mcs: 32: /home/judges//compile/scripts/mcs: [[: not found
Compilation process timed out
Я глянул соответствующий файл, ругань идет на эту строку
[[ "${EJUDGE_FLAGS}" = "" ]] && EJUDGE_FLAGS="-optimize+"
Этот файл я никак не менял после установки ejudg'а. И плюс компиляция и запуск из терминала идет вообще безо всяких проблем. Сижу уже три дня, никаких адекватных идей не пришло. Переустановка (и компилятора, и ejudg'а) ничего не дала. Помогите, люди добрые, пожалуйста!
Linux Ubuntu 16.04 LTS (64-bit)
Mono C# 4.2.1.0
P.S. Если никто не в курсе, то можно ли как-то связаться с разработчиками, чтоб у них проконсультироваться?
Автокомментарий: текст был обновлен пользователем balalaika (предыдущая версия, новая версия, сравнить).
Насчёт второй проблемы: попробуйте заменить первую строчку скрипта (
#!/bin/sh
) на#!/bin/bash
. Я отправил отчёт о баге на GitHub, но не уверен, что это правильное место.Не думаю, что можно что-то принципиальное сделать с первым пунктом — если считается "небезопасным" (что бы это ни значило — мало знаю про eJudge), значит, скорее всего, разработчики не смогли его сделать "безопасным". А какова конечная цель? Использовать все остальные компиляторы в "безопасном" режиме, плюс Mono?
"Безопасный режим" говорит ejudg'у о том, что он должен палить и пресекать попытки участников сделать системную хрень (вырубить комп, нафоркать кучу новых процессов и прочее). Наверное это возможно как-то сделать с Mono средствами самой Linux, пока руки не дошли.
А вот поменять первую строку скрипта попробую вечером. Спасибо за мыслю!