какая нужная версия openldap для FreeBSD 5.4 ?

Технические вопросы по UTM 5.0
Ответить
marine
Сообщения: 7
Зарегистрирован: Чт ноя 17, 2005 04:18

какая нужная версия openldap для FreeBSD 5.4 ?

Сообщение marine »

Здравствуйте, ситуация следующая:

смотрим:

$ uname -sr
FreeBSD 5.4-RELEASE

-----------------------
установлены из портов:

$ pkg_info | grep openldap
openldap-client-2.1.30 Open source LDAP client implementation
openldap-server-2.1.30 Open source LDAP server implementation

------------------------
однако модуль ldap не подгружается:

$ cat /netup/utm5/log/main.log | grep ldap
ERROR : Nov 17 01:27:02 RPCFMan: /usr/local/lib/libldap.so.2: Undefined symbol "__h_error"

как я понимаю, смысл ошибки сводится к либо слишком ранней, либо слишкой поздней версии

какую версию ldap техподдержка рекомендует использовать с данной ОС, учитывая то, что в bind9-dlz и ряде других приложений, работающих с openldap, поддержка версии 2.1 была давно убрана ?

спасибо

label
Сообщения: 55
Зарегистрирован: Пн июн 13, 2005 13:24

Сообщение label »

У меня все еще веселей:
RPCFMan: Shared object "libldap.so.2" not found, required by "liburfa-ldap.so"

и почему-то locate libldap.so.2 - пустой ответ
#pkg_info
openldap-client-2.2.24
openldap-server-2.2.24

#uname -rs
FreeBSD 5.4-RELEASE-p7

Никак не пойму где библиотеку искать...
Да прибудет с Вами сеть.

marine
Сообщения: 7
Зарегистрирован: Чт ноя 17, 2005 04:18

Сообщение marine »

это layout от 2.1.х
liburfa-ldap.so скомпилирована с одной из версий 2.1
только с какой конкретно оно будет работать - никому из юзеров неизвестно и в документации не написано

на этом форуме для генты рекомендуется 2.1.30, а для rh9 2.1.27
в чем принципиальное отличие - я не знаю

можешь просто поставить симлинку
только скорее всего будет такая же ошибка как и у меня

aospan
NetUP Team
Сообщения: 1639
Зарегистрирован: Чт янв 13, 2005 20:30

Сообщение aospan »

Для FreeBSD необходимо использовать openldap 2.1.25.

marine
Сообщения: 7
Зарегистрирован: Чт ноя 17, 2005 04:18

Сообщение marine »

$ pkg_info | grep openldap
openldap-client-2.1.25 Open source LDAP client implementation
openldap-server-2.1.25 Open source LDAP server implementation


на той же самой машине после сборки старого openldap из портов
есть нюанс в pdf сборки из сырцов, но это лишний геморой, т.к. правильно ldap версию db из /usr/local/include/db42 не детектит и приходится заниматься некоторым шаманством
чего по идее быть не должно

root@sinet:/netup/utm5$ cat log/main.log | grep ldap
ERROR : Nov 17 20:27:40 RPCFMan: /usr/local/lib/libldap.so.2: Undefined symbol "__h_error"


интересно, как вообще можно проверить работоспособность взимодействия биллинга с ldap на 5.4

ставить линукс - не выход ведь ?

попахивает багфиксом в новом билде
или я не прав ? )

aospan
NetUP Team
Сообщения: 1639
Зарегистрирован: Чт янв 13, 2005 20:30

Сообщение aospan »

marine писал(а):$
root@sinet:/netup/utm5$ cat log/main.log | grep ldap
ERROR : Nov 17 20:27:40 RPCFMan: /usr/local/lib/libldap.so.2: Undefined symbol "__h_error"
на сборочной машине ни /netup/utm5/lib/utm5_core/liburfa-ldap.so.0 ни /usr/local/lib/libldap.so.2 не содержат символа __h_error. Видимо берется из зависимых либ ..
выполните пожалуйста:
ldd /netup/utm5/lib/utm5_core/liburfa-ldap.so.0

и на все зависимые либы сделайте:
nm lib_path | grep h_error

аналогично сделайте ldd на
/usr/local/lib/libldap.so.2 и затем nm.

что выдает ?

marine
Сообщения: 7
Зарегистрирован: Чт ноя 17, 2005 04:18

Сообщение marine »

смотрим

Код: Выделить всё

$ ls -l /usr/local/lib/libldap*
-rw-r--r--  1 root  wheel  256444 18 ноя 12:42 libldap.a
lrwxr-xr-x  1 root  wheel      12 18 ноя 12:42 libldap.so -> libldap.so.2
-rw-r--r--  1 root  wheel  210117 18 ноя 12:42 libldap.so.2
-rw-r--r--  1 root  wheel  279456 18 ноя 12:43 libldap_r.a
lrwxr-xr-x  1 root  wheel      14 18 ноя 12:43 libldap_r.so -> libldap_r.so.2
-rw-r--r--  1 root  wheel  226502 18 ноя 12:43 libldap_r.so.2

Код: Выделить всё

$ nm /usr/local/lib/libldap* | grep  h_error
         U __h_error
         U __h_error
         U __h_error
         U __h_error
         U __h_error
         U __h_error

Код: Выделить всё

$ ldd /usr/local/lib/libldap.so.2
/usr/local/lib/libldap.so.2:
        liblber.so.2 => /usr/local/lib/liblber.so.2 (0x28180000)
        libssl.so.3 => /usr/lib/libssl.so.3 (0x2818c000)
        libcrypto.so.3 => /lib/libcrypto.so.3 (0x281ba000)

$ nm /usr/local/lib/liblber.so.2 | grep __h_error

$ nm /usr/lib/libssl.so.3 | grep __h_error
nm: /usr/lib/libssl.so.3: no symbols

$ nm /lib/libcrypto.so.3 | grep __h_error
nm: /lib/libcrypto.so.3: no symbols

Код: Выделить всё

$ ldd /netup/utm5/lib/utm5_core/liburfa-ldap.so.0
/netup/utm5/lib/utm5_core/liburfa-ldap.so.0:
        libc.so.4 => /usr/lib/compat/libc.so.4 (0x28197000)
        libldap.so.2 => /usr/local/lib/libldap.so.2 (0x28230000)
        liblber.so.2 => /usr/local/lib/liblber.so.2 (0x2825c000)
        libssl.so.3 => /usr/lib/libssl.so.3 (0x28268000)
        libcrypto.so.3 => /lib/libcrypto.so.3 (0x28296000)

$ nm /usr/lib/compat/libc.so.4 | grep __h_error
nm: /usr/lib/compat/libc.so.4: no symbols

$ nm /usr/local/lib/libldap.so.2 | grep __h_error
         U __h_error

$ nm /usr/local/lib/liblber.so.2 | grep __h_error

$ /usr/lib/libssl.so.3

$ nm /usr/lib/libssl.so.3 | grep __h_error
nm: /usr/lib/libssl.so.3: no symbols

$ nm /lib/libcrypto.so.3 | grep __h_error
nm: /lib/libcrypto.so.3: no symbols
а в линкованных к libldap.so.2 и liburfa-ldap.so.0 библиотеках нет вхождений символа __h_error

может быть выложите свои ldap-библиотеки вкупе с pkg_info со сборочной машины ?

хотелось бы все-таки ldap завести

и вдогонку:

Код: Выделить всё

$ md5 openldap-2.1.25.tgz
MD5 (openldap-2.1.25.tgz) = 7e3e53a44230bedd66152f4bdb08f50b

aospan
NetUP Team
Сообщения: 1639
Зарегистрирован: Чт янв 13, 2005 20:30

Сообщение aospan »

Судя по выводу у вас нигде не определен код символа (функции) __h_error (он везде указан с символом U, например, U __h_error ).
Соответсвенно нужно поискать в системе библиотеку, в которой этот символ определен (должен быть не символ U, а конкретный адрес, например 00095820).
Поищите пожалуйста такую либу.

Со сборочной машины so-файлы - http://old.netup.ru/download/ldap_libs_utm5_bsd.tgz

marine
Сообщения: 7
Зарегистрирован: Чт ноя 17, 2005 04:18

Сообщение marine »

я тут скриптиком прошелся по /usr/lib и /usr/local/lib

вот вывод

Код: Выделить всё

Checking /usr/lib/libc.a
         U __h_error
         U __h_error
         U __h_error
         U __h_error
         U __h_error
         U __h_error
00001170 T __h_error
         U __h_error
         U __h_error
         U __h_error
         U __h_error
         U __h_error
         U __h_error
Checking /usr/lib/libc_pic.a
         U __h_error
         U __h_error
         U __h_error
         U __h_error
         U __h_error
         U __h_error
         U __h_error
         U __h_error
00001494 T __h_error
         U __h_error
         U __h_error
         U __h_error
         U __h_error

aospan
NetUP Team
Сообщения: 1639
Зарегистрирован: Чт янв 13, 2005 20:30

Сообщение aospan »

Судя по всему у вас есть две библиотеки с определенным символом (00001170 T __h_error и 00001494 T __h_error). Посмотрите какие именно бибилиотеки содержат эти символы.

marine
Сообщения: 7
Зарегистрирован: Чт ноя 17, 2005 04:18

Сообщение marine »

с вашими библиотеками ldap завелся, но тот же постфикс, тот же cyrus-imapd требуют версии cpenldap-client как минимум 2.2

нельзя ли добавить совместимость в следующих билдах с новыми версиями ldap ?

собирать приложения из сырцов, мягко говоря, несколько неудобно )

marine
Сообщения: 7
Зарегистрирован: Чт ноя 17, 2005 04:18

Сообщение marine »

только эти файлы содержали этот символ

в остальных его просто нет

Ответить