Проблема - Run programs securely.

Обсуждение вопросов, связанных с системой проведения турниров ejudge.
Post Reply
rimidal
Posts:17
Joined:19 November 2007, 19:29
Проблема - Run programs securely.

Post by rimidal » 25 January 2008, 19:21

(ОС: Mandriva 2008 PowerPack )
Установил новое ядро 2.6.23.12 с патчем linux-2.6.23.12-2.6.23.12-cher1.diff. Установил систему v 2.3.5. При тестировании задачи А c пробного тура появляется ошибка времени выполнения с включеной опцией Run programs securely. Причем только на языках gcc, g++, perl.

для gcc:
.... ExitCode 127
...
... error while loading shared libraries: libm.so.6: cannot open shared object file: Operation not ermitted

для g++:
.... ExitCode 127
...
... error while loading shared libraries: libstdc++.so.6: cannot open shared object file: Operation not permitted

для perl:
.... ExitCode 127
...
... Can't stat script "./000004".

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Проблема - Run programs securely.

Post by cher » 25 January 2008, 21:20

rimidal wrote:(ОС: Mandriva 2008 PowerPack )
Установил новое ядро 2.6.23.12 с патчем linux-2.6.23.12-2.6.23.12-cher1.diff. Установил систему v 2.3.5. При тестировании задачи А c пробного тура появляется ошибка времени выполнения с включеной опцией Run programs securely. Причем только на языках gcc, g++, perl.

для gcc:
.... ExitCode 127
...
... error while loading shared libraries: libm.so.6: cannot open shared object file: Operation not ermitted

для g++:
.... ExitCode 127
...
... error while loading shared libraries: libstdc++.so.6: cannot open shared object file: Operation not permitted

для perl:
.... ExitCode 127
...
... Can't stat script "./000004".
Для gcc и g++ проверьте, что компилятор позволяет получать статически скомпонованные бинарные файлы.
Например,
gcc -static hello.c -o hello
В результате должен получиться достаточно большой (примерно 2 Мб) файл hello, затем
file ./hello
должен вывести на печать
ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.0.0, statically linked, for GNU/Linux 2.0.0, not stripped

Если это не так, доставьте соответствующие пакеты.

Перл в режиме безопасного запуска не работает.

rimidal
Posts:17
Joined:19 November 2007, 19:29

Re: Проблема - Run programs securely.

Post by rimidal » 25 January 2008, 22:01

Для gcc и g++ проверьте, что компилятор позволяет получать статически скомпонованные бинарные файлы.
Например,
gcc -static hello.c -o hello
В результате должен получиться достаточно большой (примерно 2 Мб) файл hello, затем
file ./hello
должен вывести на печать
ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), for GNU/Linux 2.0.0, statically linked, for GNU/Linux 2.0.0, not stripped
Скорее всего дело в этом - я директивы -static в скриптах убирал из-за ошибок компиляции.
Если это не так, доставьте соответствующие пакеты.
А какие библиотеки надо доставить?

cher
Posts:1153
Joined:13 March 2004, 17:00
Contact:

Re: Проблема - Run programs securely.

Post by cher » 26 January 2008, 00:27

Возможно, glibc-static-devel.
Может еще несколько аналогичных static-devel пакетов.

rimidal
Posts:17
Joined:19 November 2007, 19:29

Re: Проблема - Run programs securely.

Post by rimidal » 26 January 2008, 13:43

Установил пакеты glibc-static-devel-2.6.1-4.1mdv2008.0.i586.rpm и libstdc++-static-devel-4.2.2-0.RC.1mdv2008.0.i586.rpm. Теперь директива -static для gcc и g++ поддерживается. Все работает.
Спасибо.

Post Reply