Andreas Metzler <[email protected]> writes:

> According to objdump -R GnuTLS uses internal symbols of both libhogweed
> and libnettle (e.g.  _nettle_mpn_set_base256_le@HOGWEED_INTERNAL_5_0 and
> _nettle_write_le64@NETTLE_INTERNAL_7_0). These nettle *internal* symbols
> seem to be incompatible in 3.6, at least they are versioned differently
> (@NETTLE_INTERNAL_7_1).

Can you post a complete list of the references to internal symbols? 

> Having non-working gnutls is quite a big issue, since e.g. apt depends
> on it.

Indeed. What options do we have? The ones I see are

1. Simply bump the soname of libnettle too. I think that's ok in this
   case, since there are no major fixes or improvements to old features
   in this release. But I wouldn't want to make it a habit.

2. Fix GnuTLS to not refer to internal libnettle symbols. Mark the
   nettle-3.6 package including libnettle.so.7 as conflicting with the
   non-fixed GnuTLS package.

I don't know how practical option (2) is. But for the example of
nettle_write_le64, it would be a simple improvement to just include a
copy in GnuTLS if it needs it. The nettle implementation is not
particularly clever, and it's not intended to be part of the ABI. E.g,
one todo item is to replace it with a macro expanding to memcpy, on
platforms that are natively little-endian, in which case the symbol
would simply disappear from the library.

> PS: On top of this the Debian nettle *packaging* currently is broken
> with respect to unsynced soname bumps of libhogweed/libnettle runtime
> packages, which is a different issue, probably a bug.

I think it's a bug. Independent of the current issues with GnuTLS, I
think it's reasonable to occasionally make ABI-incompatible changes to
libhogweed, without breaking the libnettle ABI at the same time. (The
opposite is also possible, but less likely to happen). In which case
only one of the sonames would be bumped. There's currently no testing of
libhogweed from nettle-X linking at runtime with a libnettle.so built
from nettle-(X+1) or nettle-(X-1). Seems a bit tricky to set up.

Regards,
/Niels

-- 
Niels Möller. PGP-encrypted email is preferred. Keyid 368C6677.
Internet email is subject to wholesale government surveillance.
_______________________________________________
nettle-bugs mailing list
[email protected]
http://lists.lysator.liu.se/mailman/listinfo/nettle-bugs

Reply via email to