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)

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

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
Durch die Nutzung unserer Website bestätigen Sie, dass Sie unsere Cookie-Richtlinie und Datenschutzrichtlinie gelesen und verstanden haben.
Licensed under cc by-sa 3.0 with attribution required.