Here is what worked for me (64 bit SuSE with edir):

env LD_PRELOAD=/lib/libdl.so.2
LD_LIBRARY_PATH=/var/opt/novell/iManager/nps/WEB-INF/bin/linux/
./diagpwd -v
diagpwd version 4

How I came to this:

# diagpwd is a 32 bit executable that can't find some 32 bits
libraries:
./diagpwd -v
./diagpwd: error while loading shared libraries: libldapsdk.so.0: wrong
ELF class: ELFCLASS64

ldd diagpwd
linux-gate.so.1 => (0xffffe000)
libnmasext.so (0xf7722000)
libldapsdk.so.0 => not found
libldapssl.so.0 => not found
libldapx.so.0 => not found
libpthread.so.0 => /lib/libpthread.so.0 (0xf76d2000)
libc.so.6 => /lib/libc.so.6 (0xf756f000)
/lib/ld-linux.so.2 (0xf7728000)

# found a place with 32 bit libldapsdk.so:
locate libldapsdk.so.0
/opt/novell/eDirectory/lib64/libldapsdk.so.0
/opt/novell/eDirectory/lib64/libldapsdk.so.0.0.0
/var/opt/novell/iManager/nps/WEB-INF/bin/linux/libldapsdk.so.0
/var/opt/novell/iManager/nps/WEB-INF/bin/linux/libldapsdk.so.0.0.0

file /var/opt/novell/iManager/nps/WEB-INF/bin/linux/libldapsdk.so.0.0.0
/var/opt/novell/iManager/nps/WEB-INF/bin/linux/libldapsdk.so.0.0.0: ELF
32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically
linked, not stripped

# still missing a symbol:
env LD_LIBRARY_PATH=/var/opt/novell/iManager/nps/WEB-INF/bin/linux/
./diagpwd -v
./diagpwd: symbol lookup error:
/var/opt/novell/iManager/nps/WEB-INF/bin/linux/libldapssl.so.0:
undefined symbol: dlopen

# what else is missing?:
env LD_LIBRARY_PATH=/var/opt/novell/iManager/nps/WEB-INF/bin/linux/ ldd
-r diagpwd
linux-gate.so.1 => (0xffffe000)
libnmasext.so => /usr/lib/libnmasext.so (0xf772a000)
libldapsdk.so.0 =>
/var/opt/novell/iManager/nps/WEB-INF/bin/linux/libldapsdk.so.0
(0xf76fa000)
libldapssl.so.0 =>
/var/opt/novell/iManager/nps/WEB-INF/bin/linux/libldapssl.so.0
(0xf7600000)
libldapx.so.0 =>
/var/opt/novell/iManager/nps/WEB-INF/bin/linux/libldapx.so.0
(0xf75f4000)
libpthread.so.0 => /lib/libpthread.so.0 (0xf75d8000)
libc.so.6 => /lib/libc.so.6 (0xf7475000)
/lib/ld-linux.so.2 (0xf7764000)
undefined symbol:
dlopen (/var/opt/novell/iManager/nps/WEB-INF/bin/linux/libldapssl.so.0)
undefined symbol:
dlerror (/var/opt/novell/iManager/nps/WEB-INF/bin/linux/libldapssl.so.0)
undefined symbol:
dlclose (/var/opt/novell/iManager/nps/WEB-INF/bin/linux/libldapssl.so.0)
undefined symbol:
dlsym (/var/opt/novell/iManager/nps/WEB-INF/bin/linux/libldapssl.so.0)

# these symbols are defined in library libdl.so
nm /lib/libdl.so.2|grep dlerror
000011e0 t __dlerror
000010a0 t _dlerror_run
000011e0 T dlerror

# so it seems that libldapssl.so.0 was compiled with the option "-ldl",
but the dependency was not recorded.
# let's force the loading of libdl.so:

env LD_PRELOAD=/lib/libdl.so.2
LD_LIBRARY_PATH=/var/opt/novell/iManager/nps/WEB-INF/bin/linux/
./diagpwd -v
4

# it works!

I hope this helps!

Dominique


--
petitp
------------------------------------------------------------------------
petitp's Profile: http://forums.novell.com/member.php?userid=16866
View this thread: http://forums.novell.com/showthread.php?t=433761