slappasswd: erro de pesquisa de símbolo símbolo indefinido ber_sockbuf_io_udp

0

Eu tenho o CentOS 7 ( 3.10.0-693.el7.x86_64 ) do Pivotal Greenplum Sandbox VM.

Eu tentei instalar o OpenLDAP:

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

Mas quando executo o slappasswd -s mypassword , recebo um erro estranho abaixo:

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

Eu não vi isso em nenhum lugar, mesmo se eu usar um Centos 7 em branco do zero.

Então, o que causou a quebra do slappasswd e como corrigi-lo?

UPDATE 1

Eu executei ldd /usr/sbin/slappasswd e aqui está a saída:

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)
    
por HP. 07.01.2018 / 08:42

1 resposta

1

Seu executável provavelmente está vinculado à biblioteca errada.

Você pode usar ldd /<insert path to slappasswd here>/slappasswd para descobrir quais bibliotecas dinâmicas são obtidas. whereis slappasswd para encontrar seu caminho.

Dê uma olhada aqui onde esse caso é descrito.

Atualização:

Alterar a ordem dos diretórios no caminho LD resolveu o problema de @HP.:

export LD_LIBRARY_PATH=/lib64:$LD_LIBRARY_PATH
    
por 07.01.2018 / 11:01