Difference between revisions of "Добавление поддержки DOS-компиляторов"
(New page: Навигация: Система ejudge / Инсталляция) |
|||
(3 intermediate revisions by the same user not shown) | |||
Line 1: | Line 1: | ||
− | Навигация: [[Система ejudge]] / [[Инсталляция]] | + | Навигация: [[Main Page|Главная страница]]/[[Система ejudge]]/[[Инсталляция]]/[[Добавление поддержки DOS-компиляторов]] |
+ | |||
+ | Для того, чтобы добавить в систему ejudge поддержку языков программирования Borland Pascal 7.0, Borland C/C++ 3.1 и Microsoft Quick Basic 4.5 необходимо выполнить следующие действия. | ||
+ | |||
+ | Предполагается, что эмулятор dosemu и компиляторы языков будут инсталлироваться в каталог /var/lib/ejudge. Если при конфигурировании ejudge скрипту configure была указана опция <tt>--enable-local-dir=/var/lib/ejudge</tt> (рекомендуемое значение), то после инсталляции никаких дополнительных действий не потребуется. | ||
+ | |||
+ | Шаги 1-7 необходимо выполнить с полномочиями суперпользователя (root). | ||
+ | |||
+ | <b>Шаг 1.</b> Скачайте архив [http://www.ejudge.ru/download/dosemu.tgz dosemu.tgz] и разархивируйте его в каталоге /var/lib/ejudge. В результате в каталоге /var/lib/ejudge должен появиться каталог dosemu с подкаталогами bin, boot и run и файлами dosemu.conf, global.conf. | ||
+ | |||
+ | <b>Шаг 2.</b> Измените владельца и группу у каталога dosemu на пользователя и группу, под которым работает ejudge. | ||
+ | Например, если система ejudge работает под пользователем и группой ejudge это можно сделать следующей командой: | ||
+ | chown -R ejudge:ejudge /var/lib/ejudge/dosemu | ||
+ | |||
+ | <b>Шаг 3.</b> Для программы dosemu требуется библиотека libslang.so.1. Возможно, что эта библиотека установлена у Вас в системе. Если это не так, то скачайте файл [http://www.ejudge.ru/download/libslang.so.1.4.9 libslang.so.1.4.9] и скопируйте его в каталог /usr/lib или любой другой каталог, в котором размещаются динамические библиотеки. | ||
+ | |||
+ | <b>Шаг 4.</b> Создайте необходимые символические ссылки (в предположении, что 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 | ||
+ | |||
+ | <b>Шаг 5.</b> Создайте каталог /etc/dosemu | ||
+ | mkdir /etc/dosemu | ||
+ | |||
+ | <b>Шаг 6.</b> Создайте в каталоге /etc/dosemu символическую ссылку dosemu.conf | ||
+ | cd /etc/dosemu | ||
+ | ln -s /var/lib/ejudge/dosemu/dosemu.conf | ||
+ | |||
+ | <b>Шаг 7.</b> Скачайте файл [http://www.ejudge.ru/download/dosemu.users dosemu.users] и поместите его в каталог /etc/dosemu. | ||
+ | |||
+ | Дальнейшие шаги инсталляции необходимо выполнять под пользователем, под которым работает система ejudge. | ||
+ | |||
+ | <b>Шаг 8.</b> Запустите эмулятор | ||
+ | /var/lib/ejudge/dosemu/bin/dos | ||
+ | Должен появиться черный экран, на котором будет выведено сообщение о первом запуске dosemu. На вопрос необходимо ответить yes. | ||
+ | |||
+ | <b>Шаг 9.</b> Доинсталлируйте необходимые компиляторы. 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. | ||
+ | |||
+ | <b>Шаг 10.</b> Переконфигурируйте компиляторы ejudge | ||
+ | ejudge-configure-compilers | ||
+ | если инсталляция выполнена корректно, установленные компиляторы должны быть обнаружены. | ||
+ | |||
+ | <b>Замечание 1.</b> Если система ejudge настроена так, что тестируемые программы запускаются на виртуальной файловой системе (смонтированной с опцией -o loop), то использование виртуальной файловой системы можно распространить и на тестирование dos-программ. Для этого можно использовать опцию --bind программы mount: | ||
+ | VARDIR=/var/lib/ejudge | ||
+ | mount --bind ${VARDIR}/work-disk/work ${VARDIR}/dosemu/run | ||
+ | Если Ваши настройки отличаются, соответственно измените пути. | ||
+ | |||
+ | <b>Замечание 2.</b> Если система ejudge сконфигурирована с другим значением опции <tt>--enable-local-dir</tt>, то после инсталляции dosemu в соответствующий каталог потребуется отредактивать файлы /etc/dosemu/dosemu.conf и /etc/dosemu/dosemu.users. | ||
+ | |||
+ | <b>Замечание 3.</b> Если система ejudge сконфигурирована без указания опции <tt>--enable-local-dir</tt>, то dosemu нужно инсталлировать в домашний каталог турниров (то есть по умолчанию в /home/judges). После установки должны быть отредактированы файлы /etc/dosemu/dosemu.conf и /etc/dosemu/dosemu.users. |
Latest revision as of 14:00, 22 August 2008
Навигация: Главная страница/Система 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.