Mate terminal don't open after upgrade from 18.04.2 to 19.04

Hi!

I can't open anymore Mate-Terminal after upgrade from 18.04-2 to 19.04.
Before upgrade my system today, 18.04-2 worked good.

I run xterm, then run mate-terminal...

Output: 'error'

relocation error: /usr/lib/x86_64-linux-gnu/libgnutls.so.30: symbol nettle_rsa_sec_decrypt version HOGWEED_4 not defined in file libhogweed.so.4
with link time reference

"/usr/lib/x86_64-linux-gnu" are these files:

libgnutls.so.30
libgnutls.so.30.23.0

libhogweed.a
libhogweed.so
libhogweed.so.4
libhogweed.so.4.5

How can I fix that?

Since you can get to xterm let's run a few commands.

dpkg -s libhogweed4
What version does it show? It should be 3.4.1-1

Now let's run the following:
sudo apt update && sudo apt upgrade -y

When that completes, lets run dpkg -s libhogweed4
What version do we show now?

Let's try running mate-terminal now.

2 Likes

@ franksmcb...

dpkg -s libhogweed4
...shows me: 3.4.1-1

sudo apt update && sudo apt upgrade -y
Output-error:
/usr/lib/apt/methods/http: relocation error: /usr/lib/x86_64-linux-gnu/libgnutls.so.30:
symbol nettle_rsa_sec_decrypt version HOGWEED_4 not defined in file libhogweed.so.4 with link time reference

/usr/lib/apt/methods/https: relocation error: /usr/lib/x86_64-linux-gnu/libgnutls.so.30:
symbol nettle_rsa_sec_decrypt version HOGWEED_4 not defined in file libhogweed.so.4 with link time reference

E: Method http has died unexpectedly!
E: Method https has died unexpectedly!

E: Sub-process http returned an error code (127)
E: Sub-process https returned an error code (127)

:frowning:

Two moments here:

  1. I can't reproduce your problem - my 18.04.2 LTS virtual machine successfully upgraded to 19.04. All terminals and apt/apt-get work as usual.
  2. It is usually not recommended to upgrade from LTS (this means 5 years of support) to regular (9 months support) release.

Then about debugging.
I suspect that you have self-compiled library in something like /usr/local/lib.

Please add output of the ldd /usr/bin/mate-terminal | grep -E "tls|hog" command to the next reply.
Below is the output from my clean 19.04 system for reference:

$ ldd /usr/bin/mate-terminal | grep -E "tls|hog"
	libgnutls.so.30 => /usr/lib/x86_64-linux-gnu/libgnutls.so.30 (0x00007f9633531000)
	libhogweed.so.4 => /usr/lib/x86_64-linux-gnu/libhogweed.so.4 (0x00007f96317e7000)

and both libraries came from official packages:

$ dpkg -S /usr/lib/x86_64-linux-gnu/libgnutls.so.30
libgnutls30:amd64: /usr/lib/x86_64-linux-gnu/libgnutls.so.30

$ dpkg -l libgnutls30:amd64 | tail -n1
ii  libgnutls30:amd64 3.6.5-2ubuntu1.1 amd64        GNU TLS library - main runtime library

$ dpkg -S /usr/lib/x86_64-linux-gnu/libhogweed.so.4
libhogweed4:amd64: /usr/lib/x86_64-linux-gnu/libhogweed.so.4

$ dpkg -l libhogweed4:amd64 | tail -n1
ii  libhogweed4:amd64 3.4.1-1      amd64        low level cryptographic library (public-key cryptos)

(it would be great if you compare these outputs with your system)

2 Likes

I think I got it...

ldd /usr/bin/mate-terminal | grep -E "tls|hog"
shows me a wrong path from libhogweed.so.4 in /usr/local/lib...

I removed all files from "libhogweed*" in "/usr/local/lib"...

Output from ldd now:
libgnutls.so.30 /usr/lib/x86_64-linux-gnu/libgnutls.so.30
libhogweed.so.4 => /usr/lib/x86_64-linux-gnu/libhogweed.so.4

Many thanks!

Now I can run Mate-Terminal again...

(SOLVED)

1 Like