Bug#920136: libgnutls30: symbol lookup error...undefined symbol: __gmpz_limbs_write
James Van Zandt
jim.vanzandt at gmail.com
Tue Jan 22 02:18:11 GMT 2019
Package: libgnutls30
Version: 3.6.5-2
Severity: critical
Justification: breaks unrelated software
Dear Maintainer,
Sun 20 Jan 2019 10:25:49 PM EST
I upgraded several packages on Jan 16. Since then, many programs
(including cupsd, apt-get, and apt) fail like this:
/usr/lib/apt/methods/http: symbol lookup error:
/usr/lib/x86_64-linux-gnu/libgnutls.so.30: undefined symbol:
__gmpz_limbs_write
The file comes in this package:
libgnutls30: /usr/lib/x86_64-linux-gnu/libgnutls.so.30
I have two copies of this package installed:
jrv at home:/usr/local/src/octave/octave-4.4.1$ dpkg -l libgnutls30
Desired=Unknown/Install/Remove/Purge/Hold
|
Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-=================-============-============-======================================
ii libgnutls30:amd64 3.6.5-2 amd64 GNU TLS library - main
runtime library
ii libgnutls30:i386 3.6.5-2 i386 GNU TLS library - main
runtime library
...corresponding to the two architectures installed here:
jrv at home:~/Downloads$ dpkg --print-architecture
amd64
jrv at home:~/Downloads$ dpkg --print-foreign-architectures
i386
I found a partial workaround, as follows:
I found libgnutls30 packages of version 3.5.19 in my backups.
Installing just the amd64 package (with dpkg) failed:
package libgnutls30:amd64 3.5.19-1 cannot be configured because
libgnutls30:i386 is at a different version (3.6.5-2)
However, installing both architectures together succeeded:
$ dpkg -l libgnutls30
Desired=Unknown/Install/Remove/Purge/Hold
|
Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-=================-============-============-======================================
ii libgnutls30:amd64 3.5.19-1 amd64 GNU TLS library - main
runtime library
ii libgnutls30:i386 3.5.19-1 i386 GNU TLS library - main
runtime library
cupsd will now run (so I can print again).
apt-get also runs, but complains about versions being out of sync:
$ sudo apt-get check
[sudo] password for jrv:
Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt --fix-broken install' to correct these.
The following packages have unmet dependencies:
apt : Depends: libgnutls30 (>= 3.6.5) but 3.5.19-1 is installed
exim4-daemon-light : Depends: libgnutls30 (>= 3.6.5) but 3.5.19-1 is
installed
glib-networking : Depends: libgnutls30 (>= 3.6.5) but 3.5.19-1 is
installed
libavformat58 : Depends: libgnutls30 (>= 3.6.5) but 3.5.19-1 is installed
libgnutls-dane0 : Depends: libgnutls30 (= 3.6.5-2) but 3.5.19-1 is
installed
libgnutls-openssl27 : Depends: libgnutls30 (= 3.6.5-2) but 3.5.19-1 is
installed
libgnutls28-dev : Depends: libgnutls30 (= 3.6.5-2) but 3.5.19-1 is
installed
libgnutlsxx28 : Depends: libgnutls30 (= 3.6.5-2) but 3.5.19-1 is
installed
libimobiledevice-utils : Depends: libgnutls30 (>= 3.6.5) but 3.5.19-1 is
installed
libimobiledevice6 : Depends: libgnutls30 (>= 3.6.5) but 3.5.19-1 is
installed
libldap-2.4-2 : Depends: libgnutls30 (>= 3.6.5) but 3.5.19-1 is installed
libvirt-clients : Depends: libgnutls30 (>= 3.6.5) but 3.5.19-1 is
installed
libvirt-daemon : Depends: libgnutls30 (>= 3.6.5) but 3.5.19-1 is
installed
libvirt-daemon-system : Depends: libgnutls30 (>= 3.6.5) but 3.5.19-1 is
installed
libvirt0 : Depends: libgnutls30 (>= 3.6.5) but 3.5.19-1 is installed
libvte-2.91-0 : Depends: libgnutls30 (>= 3.6.5) but 3.5.19-1 is installed
python-pycurl : Depends: libgnutls30 (>= 3.6.5) but 3.5.19-1 is installed
python3-pycurl : Depends: libgnutls30 (>= 3.6.5) but 3.5.19-1 is
installed
qemu-utils : Depends: libgnutls30 (>= 3.6.5) but 3.5.19-1 is installed
samba-libs : Depends: libgnutls30 (>= 3.6.5) but 3.5.19-1 is installed
systemd : Depends: libgnutls30 (>= 3.6.5) but 3.5.19-1 is installed
wget : Depends: libgnutls30 (>= 3.6.5) but 3.5.19-1 is installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages
(or specify a solution).
I suspect a missing dependency, but I've not been able to identify it.
Evidently some libraries are out of sync, but I can't be sure which package
should be held responsible. Since apt-get is affected, I think the problem
qualifies as "critical".
My attempts to track down the problem follow...
>From /var/log/history.log, those packages were upgraded on Jan 16:
Start-Date: 2019-01-14 20:53:51
Commandline: apt-get upgrade
Requested-By: jrv (1000)
Upgrade: ... libgnutls30:amd64 (3.5.19-1+b1, 3.6.5-2), libgnutls30:i386
(3.5.19-1+b1, 3.6.5-2) ...
The last three backups are more recent than that upgrade:
drwxr-xr-x 14 root root 4096 Jan 20 23:02 snapshot.0
drwxr-xr-x 14 root root 4096 Jan 18 23:01 snapshot.1
drwxr-xr-x 14 root root 4096 Jan 13 23:00 snapshot.2
drwxr-xr-x 14 root root 4096 Jan 3 23:02 snapshot.3
drwxr-xr-x 14 root root 4096 Dec 4 22:59 snapshot.4
drwxr-xr-x 15 root root 4096 Aug 24 22:58 snapshot.5
Searching for libraries that refer to that symbol:
jrv at home:/usr/lib/x86_64-linux-gnu$ grep __gmpz_limbs_write
libgnutls.so.30
...so it's apparently not used or defined in version 3.5.19-1 of that file.
(It also wasn't mentioned in version 3.6.5-2 of the file.)
jrv at home:/usr/lib/x86_64-linux-gnu$ grep __gmpz_limbs_write *.so*
grep: libcasa_python3.so: No such file or directory
Binary file libgmp.so matches
Binary file libgmp.so.10 matches
Binary file libgmp.so.10.3.2 matches
grep: libgnutls.so: No such file or directory
Binary file libhogweed.so matches
Binary file libhogweed.so.4 matches
Binary file libhogweed.so.4.5 matches
The installed versions of the packages with these libraries:
$ dpkg -l libgmp-dev libhogweed4 nettle-dev
Desired=Unknown/Install/Remove/Purge/Hold
|
Status=Not/Inst/Conf-files/Unpacked/halF-conf/Half-inst/trig-aWait/Trig-pend
|/ Err?=(none)/Reinst-required (Status,Err: uppercase=bad)
||/ Name Version Architecture Description
+++-================-==============-============-==================================================
ii libgmp-dev:amd64 2:6.1.2+dfsg-4 amd64 Multiprecision
arithmetic library developers tools
ii libhogweed4:amd64 3.4.1~rc1-1 amd64 low level cryptographic
library (public-key cryptos)
ii libhogweed4:i386 3.4.1~rc1-1 i386 low level cryptographic
library (public-key cryptos)
ii nettle-dev:amd64 3.4.1~rc1-1 amd64 low level cryptographic
library (development files)
I expect that upgrading the right combination of packages at once
would fix the system. Any suggestions would ba welcome. If I can
supply more information, let me know.
- Jim Van Zandt
-- System Information:
Debian Release: buster/sid
APT prefers unstable
APT policy: (700, 'unstable')
Architecture: amd64 (x86_64)
Foreign Architectures: i386
Kernel: Linux 4.18.0-2-amd64 (SMP w/4 CPU cores)
Locale: LANG=en_US.UTF-8, LC_CTYPE=en_US.UTF-8 (charmap=UTF-8),
LANGUAGE=en_US.UTF-8 (charmap=UTF-8)
Shell: /bin/sh linked to /bin/dash
Init: systemd (via /run/systemd/system)
LSM: AppArmor: enabled
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://alioth-lists.debian.net/pipermail/pkg-gnutls-maint/attachments/20190121/3b0beec5/attachment.html>
More information about the Pkg-gnutls-maint
mailing list