LINUX.ORG.RU

Запуск AXIOM на FC5


0

0

Скачал бинарные сборки AXIOM. Запускается нормально, но при попытке вычисления чего-либо:

$ axiom GCL (GNU Common Lisp) 2.6.7 CLtL1 Sep 29 2005 18:04:31 Source License: LGPL(gcl,gmp), GPL(unexec,bfd) Binary License: GPL due to GPL'ed components: (READLINE BFD UNEXEC) Modifications of this banner must retain notice of a compatible license Dedicated to the memory of W. Schelter

Use (help) to get some basic information on how to use GCL. AXIOM Computer Algebra System Version: Axiom 3.9 (September 2005) Timestamp: Thursday September 29, 2005 at 20:04:18 ----------------------------------------------------------------------------- Issue )copyright to view copyright notices. Issue )summary for a summary of useful system commands. Issue )quit to leave AXIOM and return to shell. -----------------------------------------------------------------------------

(1) -> sin(1.0) Loading /usr/lib/axiom-20050901/algebra/FLOAT.o for domain Float

>> System error: Couldn't protect

(1) ->

Судя по логам, запрещено исполнение кучи:

audit(1169891472.259:58): avc: denied { execheap } for pid=3311 comm="AXIOMsys" scontext=user_u:system_r:unconfined_t:s0 tcontext=user_u:system_r:unconfined_t:s0 tclass=process

Однако, SELinux стоит в Permissive режиме. Попытался отключить exec_shield, но не помогло. Что можно сделать?

Система - FC5(i386) на PentiumM (1.73). Если мне не изменяет память, у него аппаратная защита от исполнения. Ее можно как-нибудь отключить, в идеале, только для axiom?

На FC3 (x86_64) работает, хотя пришлось подсовывать (через LD_LIBRARY_PATH) линк на билиотеку libreadline.so.5 -> libreadline.so.4

Ответ на: комментарий от annoynimous

рандомизацию адресного пространства при загрузке библиотек надо отрубить. Отрубается это в /sys/kernel и т.д. В google найти можно. После этого будет работать. Ну ещё вроде линки надо будет на X11 библиотеки кинуть, но это уже для графики.

anonymous
()
Ответ на: комментарий от anonymous

> рандомизацию адресного пространства при загрузке библиотек надо отрубить.

была у меня такая мысль... Отрубаю:

# sysctl -w kernel.randomize_va_space=0

kernel.randomize_va_space = 0

Работает!!! Спасибо!

А можно ли это делать только для выбранных бинарников/библиотек или только глобально?

А еще про линки на библиотеки X11 поподробнее скажите пожалуйста! Сейчас запуск axiom -gr по-прежнему запускает консольную версию

annoynimous ★★★★★
() автор топика
Ответ на: комментарий от annoynimous

Отрубить можно глобально конечно только, ну что поделаешь.

Про X11 не помню уже. Надо strace глянуть и ldd, какие там проблемы, толи версии не те, толи старую библиотеку требуется установить.

anonymous
()
Ответ на: комментарий от anonymous

> Отрубить можно глобально конечно только, ну что поделаешь.

Мдя, осознал :( Интересно, это может навредить?

Интересно: потрассировал на предмет поиска иксовых либ,
но ничего не увидел :0

$ strace -e trace=open axiom -gr
open("/etc/ld.so.cache", O_RDONLY)      = 3
open("/lib/libtermcap.so.2", O_RDONLY)  = 3
open("/lib/libdl.so.2", O_RDONLY)       = 3
open("/lib/libc.so.6", O_RDONLY)        = 3
open("/dev/tty", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 3
open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 3
open("/proc/meminfo", O_RDONLY)         = 3
open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 3
open("/usr/bin/axiom", O_RDONLY|O_LARGEFILE) = 3
--- SIGCHLD (Child exited) @ 0 (0) ---
--- SIGCHLD (Child exited) @ 0 (0) ---
--- SIGCHLD (Child exited) @ 0 (0) ---
--- SIGCHLD (Child exited) @ 0 (0) ---
--- SIGCHLD (Child exited) @ 0 (0) ---
open("/etc/ld.so.cache", O_RDONLY)      = 3
open("/lib/libc.so.6", O_RDONLY)        = 3
--- SIGCHLD (Child exited) @ 0 (0) ---
open("/tmp/socks.23165", O_RDONLY)      = 3
open("/dev/ptmx", O_RDWR)               = 3
open("/dev/pts/6", O_RDWR)              = 4

М

annoynimous ★★★★★
() автор топика
Ответ на: комментарий от anonymous

Запустил с -f

Про Х-овые библиотеки поминает только если я запускаю функцию draw.
Может, я просто чего-то не доставил?

Кстати, что удивило: большое количество SIGSEGV:

$ strace -f -e trace=open axiom

---------------------------------------------------
кое-что отрезано
---------------------------------------------------

[pid  2999] open("/proc/meminfo", O_RDONLY <unfinished ...>
[pid  3000] open("/proc/meminfo", O_RDONLY <unfinished ...>
[pid  2999] <... open resumed> )        = 5
[pid  3000] <... open resumed> )        = 5
[pid  2998] open("/proc/meminfo", O_RDONLY) = 3
[pid  2999] open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY <unfinished ...>[pid  3000] open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY <unfinished ...>[pid  2999] <... open resumed> )        = 5
[pid  3000] <... open resumed> )        = 5
[pid  2998] open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 3
[pid  2998] open("/etc/ld.so.cache", O_RDONLY) = 3
[pid  2998] open("/lib/libm.so.6", O_RDONLY) = 3
[pid  2998] open("/usr/lib/sse2/libgmp.so.3", O_RDONLY) = 3
[pid  2998] open("/usr/lib/libreadline.so.5", O_RDONLY) = 3
[pid  2998] open("/usr/lib/libncurses.so.5", O_RDONLY) = 3
[pid  2998] open("/lib/libc.so.6", O_RDONLY) = 3
[pid  2998] open("/lib/libdl.so.2", O_RDONLY) = 3
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] open("./exposed", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  2998] open("/usr/lib/axiom-20050901/algebra/exposed.o", O_RDONLY) = 4
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] open("/usr/lib/axiom-20050901/algebra/compress.daase", O_RDONLY) = 4[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] open("/usr/lib/axiom-20050901/algebra/interp.daase", O_RDONLY) = 5
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] open("/usr/lib/axiom-20050901/algebra/operation.daase", O_RDONLY) = 6
[pid  2998] open("/usr/lib/axiom-20050901/algebra/category.daase", O_RDONLY) = 7[pid  2998] open("/usr/lib/axiom-20050901/algebra/browse.daase", O_RDONLY) = 8
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] open("/etc/nsswitch.conf", O_RDONLY) = 9
[pid  2998] open("/etc/ld.so.cache", O_RDONLY) = 9
[pid  2998] open("/lib/libnss_files.so.2", O_RDONLY) = 9
[pid  2998] open("/etc/passwd", O_RDONLY) = 9
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2999] open("/etc/ld.so.cache", O_RDONLY) = 5
[pid  2999] open("/lib/libc.so.6", O_RDONLY) = 5
[pid  3000] open("/etc/ld.so.cache", O_RDONLY) = 5
[pid  3000] open("/lib/libc.so.6", O_RDONLY) = 5
[pid  3000] open("/dev/ptmx", O_RDWR)   = 5
[pid  3000] open("/dev/pts/5", O_RDWR)  = 6
[pid  3000] open("/usr/lib/axiom-20050901/lib/command.list", O_RDONLY) = 7
Process 3003 attached
[pid  3000] open("/home/****/.clef", O_RDONLY) = -1 ENOENT (No such file or directory)
[pid  3003] open("/dev/pts/5", O_RDWR)  = 8
[pid  3001] open("/dev/tty", O_RDWR|O_NONBLOCK|O_LARGEFILE) = 5
[pid  3001] open("/usr/lib/locale/locale-archive", O_RDONLY|O_LARGEFILE) = 5
[pid  3001] open("/proc/meminfo", O_RDONLY) = 5
[pid  3001] open("/usr/lib/gconv/gconv-modules.cache", O_RDONLY) = 5
[pid  3001] open("/etc/ld.so.cache", O_RDONLY) = 5
[pid  3001] open("/usr/lib/libX11.so.6", O_RDONLY) = 5
[pid  3001] open("/lib/libc.so.6", O_RDONLY) = 5
[pid  3001] open("/usr/lib/libXau.so.6", O_RDONLY) = 5
[pid  3001] open("/usr/lib/libXdmcp.so.6", O_RDONLY) = 5
[pid  3001] open("/lib/libdl.so.2", O_RDONLY) = 5
[pid  3003] open("/etc/ld.so.cache", O_RDONLY) = 5
[pid  3003] open("/lib/libc.so.6", O_RDONLY) = 5
Process 3004 attached
Process 2989 suspended
GCL (GNU Common Lisp)  2.6.7 CLtL1    Sep 29 2005 18:04:31
Source License: LGPL(gcl,gmp), GPL(unexec,bfd)
Binary License:  GPL due to GPL'ed components: (READLINE BFD UNEXEC)
Modifications of this banner must retain notice of a compatible license
Dedicated to the memory of W. Schelter

Use (help) to get some basic information on how to use GCL.
                        AXIOM Computer Algebra System
                     Version: Axiom 3.9 (September 2005)
             Timestamp: Thursday September 29, 2005 at 20:04:18
-----------------------------------------------------------------------------
   Issue )copyright to view copyright notices.
   Issue )summary for a summary of useful system commands.
   Issue )quit to leave AXIOM and return to shell.
-----------------------------------------------------------------------------

(1) ->
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
[pid  2998] --- SIGSEGV (Segmentation fault) @ 0 (0) ---
(1) ->

Это вообще нормально?

annoynimous ★★★★★
() автор топика
Ответ на: комментарий от annoynimous

SIGSEGV смущает. Надо бы посмотреть, что за программы запускаются, запустить их из консоли под отладчиком и узнать в чём дело

welkam ★★
()
Ответ на: комментарий от welkam

> Надо бы посмотреть, что за программы запускаются, запустить их из консоли под отладчиком и узнать в чём дело

Блин, это я уже не осилю... Работает - и ладно.

annoynimous ★★★★★
() автор топика
Вы не можете добавлять комментарии в эту тему. Тема перемещена в архив.