Добавление поддержки DOS-компиляторов
Навигация: Система ejudge/Инсталляция/Добавление поддержки DOS-компиляторов
Для того, чтобы добавить в систему ejudge поддержку языков программирования Borland Pascal 7.0, Borland C/C++ 3.1 и Microsoft Quick Basic 4.5 необходимо выполнить следующие действия.
Предполагается, что эмулятор dosemu и компиляторы языков будут инсталлироваться в каталог /var/lib/ejudge. Если при конфигурировании ejudge скрипту configure была указана опция --enable-local-dir=/var/lib/ejudge (рекомендуемое значение), то после инсталляции никаких дополнительных действий не потребуется.
Шаги 1-7 необходимо выполнить с полномочиями суперпользователя (root).
Шаг 1. Скачайте архив dosemu.tgz и разархивируйте его в каталоге /var/lib/ejudge. В результате в каталоге /var/lib/ejudge должен появиться каталог dosemu с подкаталогами bin, boot и run и файлами dosemu.conf, global.conf.
Шаг 2. Измените владельца и группу у каталога dosemu на пользователя и группу, под которым работает ejudge. Например, если система ejudge работает под пользователем и группой ejudge это можно сделать следующей командой:
chown -R ejudge:ejudge /var/lib/ejudge/dosemu
Шаг 3. Для программы dosemu требуется библиотека libslang.so.1. Возможно, что эта библиотека установлена у Вас в системе. Если это не так, то скачайте файл libslang.so.1.4.9 и скопируйте его в каталог /usr/lib или любой другой каталог, в котором размещаются динамические библиотеки.
Шаг 4. Создайте необходимые символические ссылки (в предположении, что libslang.so.1.4.9 скопирован в /usr/lib):
cd /usr/lib chown root:root libslang.so.1.4.9 chmod 755 libslang.so.1.4.9 ln -s libslang.so.1.4.9 libslang.so.1.4 ln -s libslang.so.1.4.9 libslang.so.1
Шаг 5. Создайте каталог /etc/dosemu
mkdir /etc/dosemu
Шаг 6. Создайте в каталоге /etc/dosemu символическую ссылку dosemu.conf
cd /etc/dosemu ln -s /var/lib/ejudge/dosemu/dosemu.conf
Шаг 7. Скачайте файл dosemu.users и поместите его в каталог /etc/dosemu.
Дальнейшие шаги инсталляции необходимо выполнять под пользователем, под которым работает система ejudge.
Шаг 8. Запустите эмулятор
/var/lib/ejudge/dosemu/bin/dos
Должен появиться черный экран, на котором будет выведено сообщение о первом запуске dosemu. На вопрос необходимо ответить yes.
Шаг 9. Доинсталлируйте необходимые компиляторы. Borland C/C++ 3.1 должен быть помещен в каталог /var/lib/ejudge/dosemu/boot/BC31, Borland Pascal 7.0 должен быть помещен в каталог /var/lib/ejudge/dosemu/boot/BP7, а Microsoft Quick Basic 4.5 должен быть помещен в каталог /var/lib/ejudge/dosemu/boot/QB.
Шаг 10. Переконфигурируйте компиляторы ejudge
ejudge-configure-compilers
если инсталляция выполнена корректно, установленные компиляторы должны быть обнаружены.
Замечание 1. Если система ejudge настроена так, что тестируемые программы запускаются на виртуальной файловой системе (смонтированной с опцией -o loop), то использование виртуальной файловой системы можно распространить и на тестирование dos-программ. Для этого можно использовать опцию --bind программы mount:
VARDIR=/var/lib/ejudge mount --bind ${VARDIR}/work-disk/work ${VARDIR}/dosemu/run
Если Ваши настройки отличаются, соответственно измените пути.
Замечание 2. Если система ejudge сконфигурирована с другим значением опции --enable-local-dir, то после инсталляции dosemu в соответствующий каталог потребуется отредактивать файлы /etc/dosemu/dosemu.conf и /etc/dosemu/dosemu.users.
Замечание 3. Если система ejudge сконфигурирована без указания опции --enable-local-dir, то dosemu нужно инсталлировать в домашний каталог турниров (то есть по умолчанию в /home/judges). После установки должны быть отредактированы файлы /etc/dosemu/dosemu.conf и /etc/dosemu/dosemu.users.