1

I recently performed a dist-upgrade on Ubuntu bionic. The dist-upgrade proceeded to remove some software that I intended to keep, like shutter and pidgin. Whenever I tried to install these and gcc-multilib, I got an unmet dependencies error. In order to fix this, I followed this link. When I tried aptitude, it crashed halfway the installation of gcc-multilib with a dpkg error:

dpkg: error processing package libc6:amd64 (--configure):
 installed libc6:amd64 package post-installation script subprocess returned error exit status 1
dpkg: dependency problems prevent processing triggers for libc-bin:
 libc-bin depends on libc6 (>> 2.28); however:
  Version of libc6:amd64 on system is 2.27-3ubuntu1.
 libc-bin depends on libc6 (<< 2.29); however:
  Package libc6:amd64 is not configured yet.

dpkg: error processing package libc-bin (--configure):
 dependency problems - leaving triggers unprocessed
dpkg: dependency problems prevent processing triggers for man-db:
 man-db depends on libc6 (>= 2.17); however:
  Package libc6:amd64 is not configured yet.

Currently I am stuck trying to install anything, even an apt-get upgrade fails. Any help is appreciated.

$ sudo apt-get upgrade
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:
 libc-bin : Depends: libc6 (> 2.28) but 2.27-3ubuntu1 is installed
 libc6-dbg : Depends: libc6 (= 2.28-8) but 2.27-3ubuntu1 is installed
 libev-perl : Depends: libc6 (>= 2.28) but 2.27-3ubuntu1 is installed
 libperl5.28 : Depends: libc6 (>= 2.28) but 2.27-3ubuntu1 is installed
 perl-base : PreDepends: libc6 (>= 2.28) but 2.27-3ubuntu1 is installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

$ sudo apt -f install
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Correcting dependencies... failed.
The following packages have unmet dependencies:
 libc-bin : Depends: libc6 (> 2.28) but 2.27-3ubuntu1 is installed
 libc6-dbg : Depends: libc6 (= 2.28-8) but 2.27-3ubuntu1 is installed
 libev-perl : Depends: libc6 (>= 2.28) but 2.27-3ubuntu1 is installed
 libperl5.28 : Depends: libc6 (>= 2.28) but 2.27-3ubuntu1 is installed
 perl-base : PreDepends: libc6 (>= 2.28) but 2.27-3ubuntu1 is installed
E: Error, pkgProblemResolver::Resolve generated breaks, this may be caused by held packages.
E: Unable to correct dependencies

$ apt-mark showhold   
$ dpkg -l | grep "^hi"

Apparently there are no held packages.

Some information: main, restricted, universe, multiverse, bionic-updates and bionic-security are enabled. All other ppa's have been disabled or purged except for y-ppa-manager. If more information is required, please let me know.

Update 1: I tried executing the following command to downgrade the versions, but am unsure how to proceed.

$ sudo apt install libc-bin=2.27-3ubuntu1 libc6-dbg=2.27-3ubuntu1 libev-
perl=4.22-1build2 perl-base=5.26.1-6ubuntu0.3                          
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:
 libalgorithm-diff-xs-perl : Depends: perlapi-5.28.0
 libanyevent-perl : Depends: perlapi-5.28.1
                    Recommends: libguard-perl but it is not going to be installed
 libapt-pkg-perl : Depends: perl-base (>= 5.28.0-3) but 5.26.1-6ubuntu0.3 is to be installed
                   Depends: perlapi-5.28.0
 libasync-interrupt-perl : Depends: perlapi-5.28.0
 libbit-vector-perl : Depends: perlapi-5.28.0
 libcairo-gobject-perl : Depends: perlapi-5.28.0
 libcairo-perl : Depends: perlapi-5.28.0
 libclone-perl : Depends: perlapi-5.28.0
 libcommon-sense-perl : Depends: perlapi-5.28.1
 libdate-calc-xs-perl : Depends: perlapi-5.28.0
 libfcgi-perl : Depends: perlapi-5.28.0
 libfile-fcntllock-perl : Depends: perlapi-5.28.0
 libglib-object-introspection-perl : Depends: perlapi-5.28.1
 libglib-perl : Depends: perlapi-5.28.1
 libhtml-parser-perl : Depends: perlapi-5.28.0
 libio-pty-perl : Depends: perlapi-5.28.0
 libjson-xs-perl : Depends: perlapi-5.28.0
 liblist-moreutils-perl : Depends: perlapi-5.28.0
 liblocale-gettext-perl : PreDepends: perl-base (>= 5.28.0-3) but 5.26.1-6ubuntu0.3 is to be installed
                          PreDepends: perlapi-5.28.0
 libnet-dbus-perl : Depends: perlapi-5.28.0
 libnet-libidn-perl : Depends: perlapi-5.28.0
 libnet-ssleay-perl : Depends: perlapi-5.28.0
 libpango-perl : Depends: perlapi-5.28.0
 libpcsc-perl : Depends: perlapi-5.28.0
 libperl5.28 : Depends: libc6 (>= 2.28) but 2.27-3ubuntu1 is to be installed
 libperlio-gzip-perl : Depends: perlapi-5.28.0
 libsocket6-perl : Depends: perlapi-5.28.0
 libsub-name-perl : Depends: perlapi-5.28.0
 libtext-charwidth-perl : Depends: perl-base (>= 5.28.0-3) but 5.26.1-6ubuntu0.3 is to be installed
                          Depends: perlapi-5.28.0
 libtext-iconv-perl : Depends: perl-base (>= 5.28.0-3) but 5.26.1-6ubuntu0.3 is to be installed
                      Depends: perlapi-5.28.0
 libunicode-linebreak-perl : Depends: perlapi-5.28.1
 libunicode-map-perl : Depends: perlapi-5.28.0
 libxml-libxml-perl : Depends: perlapi-5.28.1
 libxml-parser-perl : Depends: perlapi-5.28.1
 libyaml-libyaml-perl : Depends: perlapi-5.28.1
 locales : Depends: libc-bin (> 2.28)
 perl : Depends: perl-base (= 5.28.1-6) but 5.26.1-6ubuntu0.3 is to be installed
 perl-modules-5.28 : Depends: perl-base (>= 5.28.1-1) but 5.26.1-6ubuntu0.3 is to be installed
E: Unmet dependencies. Try 'apt --fix-broken install' with no packages (or specify a solution).

Update 2: I have managed to fix a lot of dependencies with a long command specifying the exact version of every package as found on packages.ubuntu.com and running it on both aptitude and apt-get. Currently I am left trying to resolve the last few packages but ran into the following issue:

$ sudo apt-get install perl-base=5.26.1-6ubuntu0.3 locales=2.27-3ubuntu1 libanyevent-perl=7.140-2 libc-bin=2.27-3ubuntu1 libev-perl=4.22-1build2 liblocale-gettext-perl=1.07-3build2 libxml-libxml-perl=2.0128+dfsg-5
Reading package lists... Done
Building dependency tree       
Reading state information... Done
Suggested packages:
  libevent-perl libio-async-perl libpoe-perl libtask-weaken-perl
Recommended packages:
  libguard-perl
The following NEW packages will be installed:
  locales
The following packages will be DOWNGRADED:
  libanyevent-perl libc-bin libev-perl liblocale-gettext-perl libxml-libxml-perl perl-base
0 upgraded, 1 newly installed, 6 downgraded, 0 to remove and 8 not upgraded.
37 not fully installed or removed.
Need to get 0 B/6570 kB of archives.
After this operation, 12.1 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
/usr/bin/perl: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /usr/bin/perl)
Setting up libc6:amd64 (2.27-3ubuntu1) ...
/usr/bin/perl: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.28' not found (required by /usr/bin/perl)
dpkg: error processing package libc6:amd64 (--configure):
 installed libc6:amd64 package post-installation script subprocess returned error exit status 1
Errors were encountered while processing:
 libc6:amd64
E: Sub-process /usr/bin/dpkg returned an error code (1)

Apparently, I need to install GLIBC_2.28 to use perl which is required to install packages, however it is the version I want to move away from, i.e. I want to go back to 2.27.

Update 3:

$ apt list --installed | grep -v bionic
WARNING: apt does not have a stable CLI interface. Use with caution in scripts.
Listing...
containerd.io/now 1.2.5-1 amd64 [installed,local]
distro-info-data/now 0.37ubuntu0.4 all [installed,upgradable to: 0.37ubuntu0.5]
gemalto-smartcard0/now 161-2 amd64 [installed,local]
google-chrome-stable/now 74.0.3729.131-1 amd64 [installed,local]
icaclient/now 13.10.0.20 amd64 [installed,local]
ipsec-tools/now 1:0.8.2+20140711-12 amd64 [installed,local]
libanyevent-perl/now 7.140-3 amd64 [installed,local]
libboost-date-time1.62.0/now 1.62.0+dfsg-10+b1 amd64 [installed,local]
libboost-filesystem1.62.0/now 1.62.0+dfsg-10+b1 amd64 [installed,local]
libboost-serialization1.62.0/now 1.62.0+dfsg-10+b1 amd64 [installed,local]
libboost-system1.62.0/now 1.62.0+dfsg-10+b1 amd64 [installed,local]
libboost-thread1.62.0/now 1.62.0+dfsg-10+b1 amd64 [installed,local]
libc-bin/now 2.28-8 amd64 [installed,local]
libc-l10n/now 2.28-8 all [installed,local]
libev-perl/now 4.25-1 amd64 [installed,local]
libfl2/now 2.6.4-6.2 amd64 [installed,local]
libgdbm-compat4/now 1.18.1-4 amd64 [installed,local]
libgdbm6/now 1.18.1-4 amd64 [installed,local]
libidn2-0/now 2.0.5-1 amd64 [installed,local]
liblocale-gettext-perl/now 1.07-3+b4 amd64 [installed,local]
libssl1.1/now 1.1.1b-1 amd64 [installed,local]
libxml-libxml-perl/now 2.0134+dfsg-1 amd64 [installed,local]
nessus/now 6.9.1 amd64 [installed,local]
pcsc-tools/now 1.5.4-1 amd64 [installed,local]
pdftk/now 3.0.0~malteworld1 all [installed,local]
pdftk-java/now 3.0.0~malteworld1 all [installed,local]
perl-base/now 5.28.1-6 amd64 [installed,local]
realpath/now 8.26-3ubuntu4 all [installed,local]
rocketchat/now 2.14.7-1215 amd64 [installed,local]
sublime-text/now 3207 amd64 [installed,local]
unattended-upgrades/now 1.1ubuntu1.18.04.10 all [installed,upgradable to: 1.1ubuntu1.18.04.11]
  • 3
    You won't be able to install or remove anything until you resolve the many version conflicts that apt is telling you about. Specifically, you have the right version of libc6 installed, but you have told the apt to install the wrong versions of libc-bin, libc6-dbg, libev-perl, and perl-base. Either downgrade those packages to a version compatible with 18.04 or uninstall them. – user535733 May 7 at 20:41
  • 1
    Yes, indeed - it's a rabbit-hole that can be quite deep. This is the down side of using non-Ubuntu sources: You get nifty newer software on top of the older LTS base...but sometimes it all falls apart. You have basically two choices: Fix it (longer, but a great learning experience) or reinstall the OS (fast, but learn nothing). If you want newer software, I recommend the 6-month releases of Ubuntu instead of LTS. – user535733 May 8 at 2:27
  • 1
    Can you run apt list --installed | grep -v bionic? This will show all installed non-Bionic packages so we can see how much of a mess you are in – fkraiem May 8 at 10:20
  • 1
    There's not that many, the big problem is libc-bin since it's so essential. What I'd do if I were you is to simultaneously (i.e., in one command) downgrade all those packages back to the Bionic version, which you can get with apt-cache policy PACKAGENAME. So sudo apt install package1=version1 package2=version2 [...]. Tedious, but not absurdly so. – fkraiem May 8 at 11:33
  • 1
    And about /usr/bin/perl, if it still complains about the mismatched libc version, you can extract the Bionic version from the package and just copy it over. – fkraiem May 8 at 11:43
1

I managed to fix the issue by manually downloading the perl-base deb package on packages.ubuntu.com and executing the following command sudo dpkg -i perl-base_5.26.1-6ubuntu0.3_amd64.deb, this seemed to be succesfully downgrading perl-base but reported some dependencies errors. After that, aptitude was able to resolve the other conflicts by downgrading the other libc6 packages. As a final step I will be checking all packages that are not from the official repositories as listed in update 3 and remove the ones that I do no longer need.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.