Добавление поддержки DOS-компиляторов

From EjudgeWiki

Навигация: Главная страница/Система 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.