Bug#920136: libgnutls30: symbol lookup error...undefined symbol: __gmpz_limbs_write

2019-01-22 Thread Andreas Metzler
Control: severity -1 serious

On 2019-01-22 James Van Zandt  wrote:
> Package: libgnutls30
> Version: 3.6.5-2
> Severity: critical
> Justification: breaks unrelated software

Hello,

I am downgrading severity. apt is not "unrelated", it *uses* gnutls.

> 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

Could you please show which package versions are installed?
dpkg -l libc6 libgmp10 libhogweed4 libidn2-0 libnettle6 libp11-kit0 libtasn1-6 
libunistring2

Does
ldd -r /usr/lib/apt/methods/http
reproduce the error?

[...]
> Searching for libraries that refer to that symbol:

>   jrv@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@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
^

That looks fishy. /usr/lib/x86_64-linux-gnu/libgnutls.so should either
not exist (libgnutls28-dev not installed) or not be a broken symlink.

I suspect second local installation of gmp/nettle/gnutls in /usr/local.

cu Andreas
-- 
`What a good friend you are to him, Dr. Maturin. His other friends are
so grateful to you.'
`I sew his ears on from time to time, sure'



Bug#920136: libgnutls30: symbol lookup error...undefined symbol: __gmpz_limbs_write

2019-01-21 Thread James Van Zandt
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@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  amd64GNU 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@home:~/Downloads$ dpkg --print-architecture
  amd64
  jrv@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 amd64GNU 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