On Tue, Mar 31, 2020 at 7:42 AM Jeffrey Walton <[email protected]> wrote:
>
> On Mon, Mar 30, 2020 at 7:23 AM Niels Möller <[email protected]> wrote:
> >
> > I committed a change to update nettle version numbers, which implies a
> > new symbol version for internal symbols.
> >
> > That seems to break the gnutls ci build,
> > https://gitlab.com/gnutls/nettle/-/jobs/487360242
> >
> > The error is
> >
> > 1217 ./bootstrap: getting translations into po/.reference for gnutls...
> > 1218 wget: /lib64/libhogweed.so.5: version `HOGWEED_INTERNAL_5_0' not found 
> > (required by /lib64/libgnutls.so.30)
> > 1219 wget: /lib64/libnettle.so.7: version `NETTLE_INTERNAL_7_0' not found 
> > (required by /lib64/libgnutls.so.30)
> >
> > I don't quite understand all details. This job buils and installs
> > nettle, as
> >
> >   ./configure --disable-documentation --prefix=/usr --libdir=/usr/lib64 &&
> >     make -j4 && make install
> >
> > replacing any previously instaled version with the same soname. So
> > that's a somewhat broader test than I had expected. That explains why
> > linking of wget is affected.
> >
> > The more worring part is that the installed gnutls library seems to
> > depend on internal nettle symbols (it would have been nice if the error
> > message named the offending symbols). Is that intended?
> >
> > It's not necessarily wrong, but any packaged version of gnutls built
> > that way *must* be marked to depend on exactly the same versions of
> > nettle with which it was built. And the ci rule would need to use a
> > different prefix and some other way to tell the gnutls build to use the
> > newly built nettle library instead of the system version.
> >
> > On my own debian machine I have libgnutls.so.30, but apparently an older
> > version. According to
> >
> >   objdump -T /usr/lib/x86_64-linux-gnu/libgnutls.so.30
> >
> > the version I have refers only to symbols with version NETTLE_6 and
> > HOGWEED_4, i.e., nettle version older than 3.5. And no mention of
> > NETTLE_INTERNAL or HOGWEED_INTERNAL.
>
> It is not limited to Nettle.
>
> Last week, /usr/lib/x86_64-linux-gnu/libgnutls.so.30 could not find a
> symbol in libidn2.so I had installed into /usr/local or /opt/local.
> The problem cascaded to the point I could not open a Terminal to fix
> things.

My problem appeared again. I'm going to have to boot into recovery
mode, delete /usr/local, and reboot to fix it.

System libraries have no business going into my directories. I don't
mess with /bin, /usr/bin, /lib and /usr/lib. The system should stay
out of our directories.

$ sudo apt-get update
...
/usr/lib/apt/methods/http: relocation error:
/usr/lib/x86_64-linux-gnu/libgnutls.so.30: symbol
_idn2_punycode_decode version IDN2_0.0.0 not defined in file
libidn2.so.0 with link time reference
E: Method http has died unexpectedly!
E: Sub-process http returned an error code (127)
E: Method /usr/lib/apt/methods/http did not start correctly
_______________________________________________
nettle-bugs mailing list
[email protected]
http://lists.lysator.liu.se/mailman/listinfo/nettle-bugs

Reply via email to