[lsb-discuss] NSS: soname problems and compatibility issues

Wan-Teh Chang wtc at google.com
Tue Aug 26 13:44:18 PDT 2008

On Tue, Aug 26, 2008 at 11:17 AM, Jeff Licquia <jeff at licquia.org> wrote:
> It's been discussed in IRC, but probably should be discussed a little
> more formally.
> The proposed NSS spec uses libnss3.so and libssl3.so as the library
> filenames.  But some poking around by a few people revealed that not all
> distros provided this file.

Yes, we learned about this issue in Ubuntu last month:

I looked into it and found that the Ubuntu issue (only libnss3.so.1d and
libssl3.so.1d are provided)  originated from its Debian upstream:

We talked to Debian's package maintainer Mike Hommey and Ubuntu's
Alexander Sack about this issue.  Our conversation with Mr. Hommey
wasn't complete (in https://bugzilla.mozilla.org/show_bug.cgi?id=448848),
so I still don't fully understand the issue yet, in particular what he
considers to be an incompatibility.

> (Additionally, there was a claim on a mailing list that some sonames
> were changed because of incompatibility issues.  But we seem to have
> lost that reference.)

We are very interested in these incompatibility issues.  We don't
know what they are, but they are why Debian changed the soname
from libnss3.so.0d to libnss3.so.1d.  If you can find out more about
the incompatibility issues, we'd appreciate it.

As Bob Relyea said, any incompatibility is a P1 bug and will be
fixed immediately.  Our goal is that NSS 3.y should be a drop-in
replacement for NSS 3.x for y >= x, meaning that applications
compiled against an older NSS 3.x can use a newer NSS 3.y
shared libraries without recompiling or relinking.

> On my own, I've found that Debian 4.0 (etch) provides this:
> /usr/lib/libsmime3.so.0d
> /usr/lib/libssl3.so.0d
> /usr/lib/libsoftokn3.so.0d
> /usr/lib/libnss3.so.0d
> /usr/lib/libsoftokn3.0d.chk
> while on Debian testing (lenny), we see this:
> /usr/lib/libnss3.so.1d
> /usr/lib/libnssutil3.so.1d
> /usr/lib/libsmime3.so.1d
> /usr/lib/libssl3.so.1d
> /usr/lib/libssl3.so
> /usr/lib/libsmime3.so
> /usr/lib/libnssutil3.so
> /usr/lib/libnss3.so
> Is this something we should be concerned about?

Yes.  The libnss3.so.1d names are also in Ubuntu 8.04 LTS.

We also need to standardize the installation locations of NSS
shared libraries, header files, and command-line tools.  Right
now they differ somewhat between Linux distributions.

Wan-Teh Chang

More information about the lsb-discuss mailing list