Subject: Re: HEADS UP (Re: 1.5.x openssl problems)
To: Martti Kuparinen <firstname.lastname@example.org>
From: Frederick Bruckman <email@example.com>
Date: 08/30/2002 09:31:55
On Fri, 30 Aug 2002, Martti Kuparinen wrote:
> On Fri, 30 Aug 2002, Frederick Bruckman wrote:
> > Best to figure out which intermediate library actually holds the
> > shared library dependency on -lssl.1 and lcrypt.0, to rebuild it
> > first.
> Of course I tried that, I even ran "make configure", suspended it with ^Z
> just after it had created the buildlink stuff and removed all references
> to the old openssl libs. I rebuilt both cyrus-sasl and cyrus-imapd
> in this funny way. Result: references to the old libs.
> The only way which worked for me was to be remove /usr/lib/libssl.0*
> and libcrypt.0*. Not very elegant I must say :-(
> This is more a pkgsrc issue I guess, it shouldn't try to use libs
> outside work/.buildlink...
Build everything in pkgsrc with "-Wl,-nostdlib"? I doubt that'll
happen. On the other hand, you might be onto something there.
"openssl/buildlink.mk" uses these wildcards
rather than a proper list of files, which tends to defeat the whole
purpose of buildlink. I'm running into a similar problem updating
packages built against MesaLib and glut after upgrading to XFree 4.
Nonetheless, the only way you can get a dependency on a shared library
that doesn't have the ".so" link is from another shared library. I
just build cyrus-imapd done on NetBSD 1.6 with the 1.5.3 libraries
still in place, and I get:
-> ldd /usr/pkg/cyrus/bin/imapd
-lcrypt.0 => /usr/lib/libcrypt.so.0
-lsasl.8 => /usr/pkg/lib/libsasl.so.8
-ldb3.3 => /usr/pkg/lib/libdb3.so.3
-lcrypto.1 => /usr/lib/libcrypto.so.1
-lssl.2 => /usr/lib/libssl.so.2
-lcom_err.4 => /usr/lib/libcom_err.so.4
-lwrap.0 => /usr/lib/libwrap.so.0
-lc.12 => /usr/lib/libc.so.12
which, as you can see, does not exhibit the problem. Perhaps this has
something to do with the fact that you failed to completely upgrade to
netbsd-1-5 (which I infer from the fact that you said removing the old
openssl libraries caused base binaries to fail to work), but I'm still
at a loss to explain where, exactly, the old dependency came from.