8

My Kali stopped working after upgrade. I run it in recovery mode, and it seems that basic communication (http) packages have some problem.

When I try wget or curl I get:

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

I guess that some files are corrupted but cannot find a way to detect all the corrupted, and to replace them. Of course, I need to do it manually (e.g., from USB), as I can't use wget and similar commands.

Thanks!

Gari BN
  • 201
  • 2
  • 4
  • My Kali Linux has the same exact issue. Happened after I updated the Metasploit Framework. Hopefully someone will has a solution or knows how to fix this. – Aura Aug 01 '19 at 20:55
  • @Aura I managed to fix it! see my answer below. – Gari BN Aug 01 '19 at 22:15

2 Answers2

8

Ok here is the fix that worked for me:

My box was running live when I did this.

First download deb to another host:

wget http://ftp.us.debian.org/debian/pool/main/libi/libidn2/libidn2-0_2.0.5-1_amd64.deb

Then SCP that up to the box that is having issues.

Once the file is up on the box. Run this:

sudo dpkg -i /tmp/libidn2-0_2.0.5-1_amd64.deb

This was a downgrade for me and then I was able to update (apt-get) without issue.

At this point I do not know of any issues this will cause. Use at your own risk.

Stigs
  • 81
  • 1
  • Thank you for the tip. I have been struggling with this for the past 2 days. – Vijay Kumar Aug 22 '19 at 18:36
  • 2
    Also affects Ubuntu 18.04 using ondrej/php repository Workaround is to downgrade libidn2-0 and mark the package as held. Package source is https://packages.ubuntu.com/bionic/libidn2-0 ``` wget http://mirrors.kernel.org/ubuntu/pool/main/libi/libidn2/libidn2-0_2.0.4-1.1build2_amd64.deb sudo dpkg -i libidn2-0_2.0.4-1.1build2_amd64.deb sudo apt-mark hold libidn2-0 ``` For cross reference the issue in ondrej https://github.com/oerdnj/deb.sury.org/issues/1247 – so_ Sep 10 '19 at 23:23
  • This error compromises almost everything. Thank you master – acgbox Sep 11 '19 at 00:40
2

I succeeded to fix it:

  1. From another computer I downloaded the libidn2.so.0 deb file and moved it to USB.
  2. In recovery-mode, I succeeded to offline replace it with my file. Now wget, curl and the other networking command work!
  3. I ran update and upgrade successfully and installed gnome. (after the upgrade, I had to re-install again libidn2.so.0).
  4. Reboot and login page pops up (although it took longer than I used to).

Hope it helps!

Gari BN
  • 201
  • 2
  • 4
  • Awesome! I'll give this a try tomorrow and let you know how it went. – Aura Aug 02 '19 at 01:59
  • I had this happen after some upgrades on my Powerbook (which is running Debian). I cross compiled gnutls and libidn for it and that fixed it here (for now). – Wyatt Ward Aug 08 '19 at 16:26