slappasswd: Symbolsuchfehler undefiniertes Symbol ber_sockbuf_io_udp

0

Ich habe CentOS 7 ( 3.10.0-693.el7.x86_64 ) von Pivotal Greenplum Sandbox VM.

Ich habe versucht, OpenLDAP zu installieren:

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

Aber wenn ich renne slappasswd -s mypasswordUnten ist ein seltsamer Fehler aufgetreten:

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

Ich habe das nirgendwo gesehen, auch wenn ich ein leeres Centos 7 von Grund auf verwendet habe.

Also was hat das verursacht slappasswd zu brechen und wie man es repariert?

UPDATE 1

Ich habe ausgeführt ldd /usr/sbin/slappasswd und hier ist die Ausgabe:

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)
HP.
quelle

Antworten:

1

Ihre ausführbare Datei verweist wahrscheinlich auf die falsche Bibliothek.

Sie können verwenden ldd /<insert path to slappasswd here>/slappasswd um herauszufinden, welche dynamischen Bibliotheken abgerufen werden. Verwenden Sie z. whereis slappasswd seinen Weg finden.

Guck mal Hier wo ein solcher Fall beschrieben wird.

Aktualisieren:

Das Ändern der Verzeichnisreihenfolge im LD-Pfad hat Probleme für @HP gelöst:

export LD_LIBRARY_PATH=/lib64:$LD_LIBRARY_PATH
mvw
quelle
Ich habe die Frage mit dem Ergebnis von aktualisiert ldd. Also ich denke du hast recht. Ein Haufen von ihnen zeigt auf /usr/local/greenplum-db/./lib stattdessen. Wie behebe ich das?
HP.
1
Sie haben geschrieben, dass Sie eine Pivotal Greenplum-Sandbox-VM verwenden. So könnte diese Anordnung absichtlich sein. Wenn Sie umbenennen /usr/local/greenplum-db/lib zu /usr/local/greenplum-db/lib.old es könnte zu einem funktionierenden führen slappasswd aber in einer kaputten Greenplum-Installation. Wenn Sie beide benötigen, würde ich versuchen, Unterstützung von den Greenplum-Leuten zu erhalten. Möglicherweise war die Installation des zusätzlichen OpenLDAP-Pakets hier nicht der richtige Schritt.
mvw
Ich fand heraus, dass dies der Trick war export LD_LIBRARY_PATH=/lib64:$LD_LIBRARY_PATH. Wenn Sie in Antwort hinzufügen, kann ich es akzeptieren. Danke für die Hinweise.
HP.
Schön zu hören, dass Sie Ihre Probleme lösen konnten.
mvw