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
