slappasswd: ошибка поиска символа неопределенный символ ber_sockbuf_io_udp

681
HP.

У меня есть CentOS 7 ( 3.10.0-693.el7.x86_64) из Pivotal Greenplum Sandbox VM.

Я пытался установить OpenLDAP:

sudo yum install openldap openldap-servers openldap-clients -y 

Но когда я бегу slappasswd -s mypassword, я получаю странную ошибку ниже:

slappasswd: symbol lookup error: slappasswd: undefined symbol: ber_sockbuf_io_udp 

Я не видел этого нигде, даже если я использую чистый Centos 7 с нуля.

Так что вызвало slappasswdполомку и как это исправить?

ОБНОВЛЕНИЕ 1

Я выполнил ldd /usr/sbin/slappasswdи вот вывод:

linux-vdso.so.1 => (0x00007ffcb7dd3000) libldap_r-2.4.so.2 => /usr/local/greenplum-db/./lib/libldap_r-2.4.so.2 (0x00007f285ed37000) liblber-2.4.so.2 => /usr/local/greenplum-db/./lib/liblber-2.4.so.2 (0x00007f285eb29000) libdb-5.3.so => /lib64/libdb-5.3.so (0x00007f285e762000) libsasl2.so.3 => /lib64/libsasl2.so.3 (0x00007f285e545000) libnss3.so => /lib64/libnss3.so (0x00007f285e21a000) libpthread.so.0 => /lib64/libpthread.so.0 (0x00007f285dffe000) libcrypt.so.1 => /lib64/libcrypt.so.1 (0x00007f285ddc7000) libslapi-2.4.so.2 => /lib64/libslapi-2.4.so.2 (0x00007f285dba6000) libltdl.so.7 => /lib64/libltdl.so.7 (0x00007f285d99c000) libwrap.so.0 => /lib64/libwrap.so.0 (0x00007f285d791000) libc.so.6 => /lib64/libc.so.6 (0x00007f285d3cd000) libresolv.so.2 => /lib64/libresolv.so.2 (0x00007f285d1b3000) libssl.so.1.0.0 => /usr/local/greenplum-db/./lib/libssl.so.1.0.0 (0x00007f285cf41000) libcrypto.so.1.0.0 => /usr/local/greenplum-db/./lib/libcrypto.so.1.0.0 (0x00007f285caba000) libdl.so.2 => /lib64/libdl.so.2 (0x00007f285c8b6000) libnssutil3.so => /lib64/libnssutil3.so (0x00007f285c689000) libplc4.so => /lib64/libplc4.so (0x00007f285c483000) libplds4.so => /lib64/libplds4.so (0x00007f285c27f000) libnspr4.so => /lib64/libnspr4.so (0x00007f285c041000) /lib64/ld-linux-x86-64.so.2 (0x000056487cd59000) libfreebl3.so => /lib64/libfreebl3.so (0x00007f285be3d000) libnsl.so.1 => /lib64/libnsl.so.1 (0x00007f285bc24000) librt.so.1 => /lib64/librt.so.1 (0x00007f285ba1b000) 
0

1 ответ на вопрос

1
mvw

Ваш исполняемый файл, вероятно, ссылается на неправильную библиотеку.

Вы можете использовать, ldd /<insert path to slappasswd here>/slappasswd чтобы узнать, какие динамические библиотеки загружены. Используйте, например, whereis slappasswdчтобы найти его путь.

Посмотрите здесь, где описан такой случай.

Обновить:

Изменение порядка каталогов на пути LD решило вопросы для @HP .:

export LD_LIBRARY_PATH=/lib64:$LD_LIBRARY_PATH 
Я обновил вопрос с результатом из `ldd`. Так что, думаю, ты прав. Несколько из них вместо этого указывают на `/ usr / local / greenplum-db /./ lib`. Как мне это исправить? HP. 6 лет назад 0
Вы писали, что используете виртуальную машину Privotal Greenplum Sandbox. Так что эта договоренность может быть умышленной. Если вы переименуете `/ usr / local / greenplum-db / lib` в` / usr / local / greenplum-db / lib.old`, это может привести к работающему slappasswd, но к поврежденной установке Greenplum. Если вам нужны обе работы, я постараюсь получить поддержку от пользователей Greenplum, возможно, установка дополнительного пакета OpenLDAP не была правильным шагом. mvw 6 лет назад 1
Я узнал, что это сделал трюк `export LD_LIBRARY_PATH = / lib64: $ LD_LIBRARY_PATH`. Если вы добавите в ответ, я могу принять это. Спасибо за подсказки. HP. 6 лет назад 0
Рад слышать, что вы можете решить ваши проблемы. mvw 6 лет назад 0

Похожие вопросы