LINUX.ORG.RU
ФорумAdmin

Ошибка загрузки модуля в PostgreSQL 8.2


0

0

На сервере установлен ALT Linux Server 4.0. Выполняю

$ psql step
Welcome to psql 8.2.4, the PostgreSQL interactive terminal.

Type:  \copyright for distribution terms
      \h for help with SQL commands
      \? for help with psql commands
      \g or terminate with semicolon to execute query
      \q to quit

step=# SET client_encoding = 'WIN1251';
ERROR:  could not load library "/usr/lib/pgsql/utf8_and_win.so":
/usr/lib/pgsql/utf8_and_win.so: failed to map segment from shared
object: Operation not permitted
step=#

В чем может быть проблема?

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

> В правах?

Даю флаг 'x', не помогает. Кроме того, в Сизифе работает, но там права тоже без 'x'.

Гуглю, рекомендуют также выключить SELinux. Но у меня нет SELinux.

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

> а 'r' установлен? :)

Обижаешь, начальник:

$ sudo ls -l /usr/lib/pgsql/
total 3277
-rwxr-xr-x 1 root root    2952 Apr 24  2007 ascii_and_mic.so
-rwxr-xr-x 1 root root    8424 Apr 24  2007 cyrillic_and_mic.so
-rwxr-xr-x 1 root root    3352 Apr 24  2007 euc_cn_and_mic.so
-rwxr-xr-x 1 root root    9860 Apr 24  2007 euc_jp_and_sjis.so
-rwxr-xr-x 1 root root    3420 Apr 24  2007 euc_kr_and_mic.so
-rwxr-xr-x 1 root root    7324 Apr 24  2007 euc_tw_and_big5.so
-rwxr-xr-x 1 root root    4592 Apr 24  2007 latin2_and_win1250.so
-rwxr-xr-x 1 root root    3688 Apr 24  2007 latin_and_mic.so
-rwxr-xr-x 1 root root  122624 Apr 24  2007 plpgsql.so
-rwxr-xr-x 1 root root    2952 Apr 24  2007 utf8_and_ascii.so
-rwxr-xr-x 1 root root  222316 Apr 24  2007 utf8_and_big5.so
-rwxr-xr-x 1 root root    5084 Apr 24  2007 utf8_and_cyrillic.so
-rwxr-xr-x 1 root root  122180 Apr 24  2007 utf8_and_euc_cn.so
-rwxr-xr-x 1 root root  213988 Apr 24  2007 utf8_and_euc_jp.so
-rwxr-xr-x 1 root root  134620 Apr 24  2007 utf8_and_euc_kr.so
-rwxr-xr-x 1 root root  335860 Apr 24  2007 utf8_and_euc_tw.so
-rwxr-xr-x 1 root root 1016796 Apr 24  2007 utf8_and_gb18030.so
-rwxr-xr-x 1 root root  351676 Apr 24  2007 utf8_and_gbk.so
-rwxr-xr-x 1 root root   29436 Apr 24  2007 utf8_and_iso8859.so
-rwxr-xr-x 1 root root    3504 Apr 24  2007 utf8_and_iso8859_1.so
-rwxr-xr-x 1 root root  278316 Apr 24  2007 utf8_and_johab.so
-rwxr-xr-x 1 root root  127060 Apr 24  2007 utf8_and_sjis.so
-rwxr-xr-x 1 root root  278332 Apr 24  2007 utf8_and_uhc.so
-rwxr-xr-x 1 root root   25012 Apr 24  2007 utf8_and_win.so

> прогони под strace, там будет точный код ошибки.

И что здесь не так?

write(1, "SET client_encoding = 'WIN1251';", 32SET client_encoding = 'WIN1251';) = 32
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
read(0, "\r", 1)                        = 1
write(1, "\n", 1
)                       = 1
rt_sigprocmask(SIG_BLOCK, [INT], [], 8) = 0
ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig icanon echo ...}) = 0
rt_sigprocmask(SIG_SETMASK, [], NULL, 8) = 0
rt_sigaction(SIGINT, {0x804d9d0, [], SA_RESTORER|SA_RESTART, 0xb7db0cb8}, {0xb7ecbed0, [], SA_RESTORER, 0xb7db0cb8}, 8) = 0
rt_sigaction(SIGTERM, {SIG_DFL}, {0xb7ecbed0, [], SA_RESTORER, 0xb7db0cb8}, 8) = 0
rt_sigaction(SIGQUIT, {SIG_DFL}, {0xb7ecbed0, [], SA_RESTORER, 0xb7db0cb8}, 8) = 0
rt_sigaction(SIGALRM, {SIG_DFL}, {0xb7ecbed0, [], SA_RESTORER, 0xb7db0cb8}, 8) = 0
rt_sigaction(SIGTSTP, {SIG_DFL}, {0xb7ecbed0, [], SA_RESTORER, 0xb7db0cb8}, 8) = 0
rt_sigaction(SIGTTOU, {SIG_DFL}, {0xb7ecbed0, [], SA_RESTORER, 0xb7db0cb8}, 8) = 0
rt_sigaction(SIGTTIN, {SIG_DFL}, {0xb7ecbed0, [], SA_RESTORER, 0xb7db0cb8}, 8) = 0
rt_sigaction(SIGWINCH, {SIG_DFL}, {0xb7ecbe80, [], SA_RESTORER|SA_RESTART, 0xb7db0cb8}, 8) = 0
time(NULL)                              = 1222024902
rt_sigaction(SIGPIPE, {SIG_IGN}, {SIG_DFL}, 8) = 0
send(3, "Q\0\0\0%SET client_encoding = 'WIN1"..., 38, 0) = 38
rt_sigaction(SIGPIPE, {SIG_DFL}, {SIG_IGN}, 8) = 0
poll([{fd=3, events=POLLIN|POLLERR}], 1, -1) = 1 ([{fd=3, revents=POLLIN}])
recv(3, "E\0\0\0\324SERROR\0C58P01\0Mcould not lo"..., 16384, 0) = 213
poll([{fd=3, events=POLLIN|POLLERR}], 1, -1) = 1 ([{fd=3, revents=POLLIN}])
recv(3, "Z\0\0\0\5I", 16384, 0)         = 6
write(2, "ERROR:  could not load library \""..., 163ERROR:  could not load library "/usr/lib/pgsql/utf8_and_win.so": /usr/lib/pgsql/utf8_and_win.so: failed to map segment from shared object: Operation not permitted
) = 163
rt_sigprocmask(SIG_BLOCK, NULL, [], 8)  = 0
rt_sigprocmask(SIG_BLOCK, [INT], [], 8) = 0
ioctl(0, TIOCGWINSZ, {ws_row=48, ws_col=111, ws_xpixel=1018, ws_ypixel=724}) = 0
ioctl(0, TIOCSWINSZ, {ws_row=48, ws_col=111, ws_xpixel=1018, ws_ypixel=724}) = 0
ioctl(0, SNDCTL_TMR_TIMEBASE or TCGETS, {B38400 opost isig icanon echo ...}) = 0
ioctl(0, SNDCTL_TMR_STOP or TCSETSW, {B38400 opost isig -icanon -echo ...}) = 0

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

Здесь не так то, что загрузить либу явно пытается демон Постгреса :) Так что трассировать нужно его, по ходу...

tailgunner ★★★★★
()

Хех :-)

/var/lib был смонтирован с noexec :-).

Спасибо за внимание :-).

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