On Sun, Mar 20, 2005, Olaf Mersmann wrote:
I'm having some trouble getting saslpasswd2 to work. I am running
OpenPKG-CURRENT (20050314) on SunOS 5.9 (sun4u).
Which sasl package did you install? The most recent one is
sasl-2.1.20-20050317, which repaired some similar Berkeley DB
problems last week.
Anytime I run saslpasswd2 (as root) to create new user credentials, it
fails with a generic failure. I've truss-ed the process and noticed
that after saslpasswd2 stats and opens /openpkg/lib/sasl/libsasldb.so
it starts to stat all kinds of places, looking for libdb-4.2
stat(/usr/lib/libresolv.so.2, 0xFFBFD154) = 0
stat(/usr/lib/libsocket.so.1, 0xFFBFD154) = 0
stat(/usr/lib/libnsl.so.1, 0xFFBFD154)= 0
stat(/usr/lib/librt.so.1, 0xFFBFD154) = 0
stat(/usr/lib/libdb-4.2.so, 0xFFBFD154) Err#2 ENOENT
stat(/usr/local/lib/sasl2//libdb-4.2.so, 0xFFBFD154) Err#2 ENOENT
stat(/usr/local/lib/libdb-4.2.so, 0xFFBFD154) = 0
That's very suspicious, and most likely wrong.
LDD-ing saslpasswd2 gives me
# ldd /openpkg/sbin/saslpasswd2
libresolv.so.2 =/lib/libresolv.so.2
libsocket.so.1 =/lib/libsocket.so.1
libnsl.so.1 = /lib/libnsl.so.1
librt.so.1 =/lib/librt.so.1
libdl.so.1 =/lib/libdl.so.1
libdb-4.2.so = /usr/local/lib/libdb-4.2.so
libc.so.1 = /lib/libc.so.1
libgcc_s.so.1 = /usr/local/lib/libgcc_s.so.1
libmp.so.2 =/lib/libmp.so.2
libaio.so.1 = /lib/libaio.so.1
libmd5.so.1 = /lib/libmd5.so.1
/usr/platform/SUNW,Ultra-60/lib/libc_psr.so.1
/usr/platform/SUNW,Ultra-60/lib/libmd5_psr.so.1
The link 'libdb-4.2.so = /usr/local/lib/libdb-4.2.so' is wrong. The sasl
package should not link to any Berkeley DB library shared object. Rather,
it should link to the static library only within the same OpenPKG instance
(/openpkg in your case).
Is this a problem with my config (having a parallel installation of
Berkeley DB), or is ther a problem with the -current source rpm? I'm
assuming, that the error stems from the fact, that sasl is using DSOs
from outside openpkg. Shouldn't it be statically linked?
There is no problem with your config, and you may have as many Berkeley DB
installations as you wish. The sasl package must deal with that, and if it
doesn't then it is a bug. I still need to know which sasl package we are
talking about to determine if the most recent sasl-2.1.20-20050317
package is flawed or not.
If you installed an older sasl package indeed, then my guess is that the
sasl configure script did not detect your /openpkg/lib/libdb.a, but it did
find (the wrong) one in /usr/lib.
It would definitely be helpful to see your config.log file (probably in
/openpkg/RPM/cyrus-sasl-2.1.20/config.log). Just remember that the file
might contain sensitive details about your (production?) system. It is
also several thousand lines long, so if you wish to publish it then be
as discreet as you deem necessary.
Regards,
Michael
--
Michael Schloh von Bennewitz [EMAIL PROTECTED]
Development Team, Operations Northern Europe
Cable Wireless Telecommunications Services
Tel +49-89-92699-227, Fax +49-89-92699-808
pgpsqADnZhnl0.pgp
Description: PGP signature