I wanted to install an ARK server on my ubuntu server 14.04 LTS and I think I completely messed up my system entirely.

What I did was this.

nano /etc/apt/sources.list

and added this to the file

# Experimental/unstable (sid) repositories
deb http://ftp.debian.org/debian experimental main
deb http://ftp.debian.org/debian sid main

and then:

apt-get update
apt-get install libc6-dev

But now I have broken dependencies. I tried all the standard stuff.

apt-get install -f
apt-get upgrade -f
apt-get dist-upgrade

And tried a lot of things I read in the web but nothing works.

The system is running smoothly and everything works except upgrading it or installing new packages because the unmet dependencies block it.

The output of apt-get upgrade is:

libc-bin : depends on: libc6 (< 2.20) but 2.22-3 is installed
libc-l10n : brocken: locales (< 2.21-0experimental1) but 2.13+git20120306-12.1 is installed
libc6 : brocken: locales (< 2.22) but 2.13+git20120306-12.1 is installed

I translated the output from german in english. So what I read out of it is that libc6 is to new? So I have to replace it with an older version?

I have no clue. I hope there is a solution other then wiping the disc. I saw the error to late so I cannot roll back in time far enough to fix it. What I did was not smart at all... But year... learned some lessons... :-/

Thanks for your time and effort reading this and thanks for your help. :-)

Edit

This is the Output of apt-cache policy libc6 libc6-dev locales

libc6:
  Installiert:           2.22-2
  Installationskandidat: 2.22-2
  Versionstabelle:
 *** 2.22-2 0
        100 /var/lib/dpkg/status
     2.19-0ubuntu6.7 0
        500 ftp://ftp.stratoserver.net/pub/linux/ubuntu/ trusty-updates/main amd64 Packages
        500 ftp://ftp.stratoserver.net/pub/linux/ubuntu/ trusty-security/main amd64 Packages
     2.19-0ubuntu6 0
        500 ftp://ftp.stratoserver.net/pub/linux/ubuntu/ trusty/main amd64 Packages
libc6-dev:
  Installiert:           2.22-2
  Installationskandidat: 2.22-2
  Versionstabelle:
 *** 2.22-2 0
        100 /var/lib/dpkg/status
     2.19-0ubuntu6.7 0
        500 ftp://ftp.stratoserver.net/pub/linux/ubuntu/ trusty-updates/main amd64 Packages
        500 ftp://ftp.stratoserver.net/pub/linux/ubuntu/ trusty-security/main amd64 Packages
     2.19-0ubuntu6 0
        500 ftp://ftp.stratoserver.net/pub/linux/ubuntu/ trusty/main amd64 Packages
locales:
  Installiert:           2.13+git20120306-12.1
  Installationskandidat: 2.13+git20120306-12.1
  Versionstabelle:
 *** 2.13+git20120306-12.1 0
        500 ftp://ftp.stratoserver.net/pub/linux/ubuntu/ trusty-updates/main amd64 Packages
        100 /var/lib/dpkg/status
     2.13+git20120306-12 0
        500 ftp://ftp.stratoserver.net/pub/linux/ubuntu/ trusty/main amd64 Packages

Edit

The output of apt-get install libc6=2.19-0ubuntu6.7 libc6-dev=2.19-0ubuntu6.7

Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 libc-dev-bin : Depends: libc6 (> 2.22) but 2.19-0ubuntu6.7 is to be installed
                Recommends: manpages-dev but it is not going to be installed
 libc-l10n : Breaks: locales (< 2.21-0experimental1) but 2.13+git20120306-12.1 is to be installed
 libc6-dev : Depends: libc-dev-bin (= 2.19-0ubuntu6.7)
 libc6-i386 : Depends: libc6 (= 2.22-2) but 2.19-0ubuntu6.7 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Edit

The output of apt-cache policy libc-dev-bin libc-l10n libc6-dev libc6-i386

libc-dev-bin:
  Installed: 2.22-2
  Candidate: 2.22-2
  Version table:
 *** 2.22-2 0
        100 /var/lib/dpkg/status
     2.19-0ubuntu6.7 0
        500 ftp://ftp.stratoserver.net/pub/linux/ubuntu/ trusty-updates/main amd64 Packages
        500 ftp://ftp.stratoserver.net/pub/linux/ubuntu/ trusty-security/main amd64 Packages
     2.19-0ubuntu6 0
        500 ftp://ftp.stratoserver.net/pub/linux/ubuntu/ trusty/main amd64 Packages
libc-l10n:
  Installed: 2.22-0experimental3
  Candidate: 2.22-0experimental3
  Version table:
 *** 2.22-0experimental3 0
        100 /var/lib/dpkg/status
libc6-dev:
  Installed: 2.22-2
  Candidate: 2.22-2
  Version table:
 *** 2.22-2 0
        100 /var/lib/dpkg/status
     2.19-0ubuntu6.7 0
        500 ftp://ftp.stratoserver.net/pub/linux/ubuntu/ trusty-updates/main amd64 Packages
        500 ftp://ftp.stratoserver.net/pub/linux/ubuntu/ trusty-security/main amd64 Packages
     2.19-0ubuntu6 0
        500 ftp://ftp.stratoserver.net/pub/linux/ubuntu/ trusty/main amd64 Packages
libc6-i386:
  Installed: 2.22-2
  Candidate: 2.22-2
  Version table:
 *** 2.22-2 0
        100 /var/lib/dpkg/status
     2.19-0ubuntu6.7 0
        500 ftp://ftp.stratoserver.net/pub/linux/ubuntu/ trusty-updates/main amd64 Packages
        500 ftp://ftp.stratoserver.net/pub/linux/ubuntu/ trusty-security/main amd64 Packages
     2.19-0ubuntu6 0
        500 ftp://ftp.stratoserver.net/pub/linux/ubuntu/ trusty/main amd64 Packages

Edit

The output of apt-get purge libc-l10n

Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 libc-bin : Depends: libc6 (< 2.20) but 2.22-2 is to be installed
 libc6 : Breaks: locales (< 2.22) but 2.13+git20120306-12.1 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

The output of apt-get install libc-dev-bin=2.19-0ubuntu6.7 libc6-dev=2.19-0ubuntu6.7 libc6-i386=2.19-0ubuntu6.7

Reading package lists... Done
Building dependency tree
Reading state information... Done
You might want to run 'apt-get -f install' to correct these:
The following packages have unmet dependencies:
 libc-bin : Depends: libc6 (< 2.20) but 2.22-2 is to be installed
 libc-dev-bin : Depends: libc6 (< 2.20) but 2.22-2 is to be installed
                Recommends: manpages-dev but it is not going to be installed
 libc-l10n : Breaks: locales (< 2.21-0experimental1) but 2.13+git20120306-12.1 is to be installed
 libc6 : Breaks: locales (< 2.22) but 2.13+git20120306-12.1 is to be installed
 libc6-dev : Depends: libc6 (= 2.19-0ubuntu6.7) but 2.22-2 is to be installed
 libc6-i386 : Depends: libc6 (= 2.19-0ubuntu6.7) but 2.22-2 is to be installed
E: Unmet dependencies. Try 'apt-get -f install' with no packages (or specify a solution).

Solution 1:

We need to downgrade the libc6 related packages again that you accidentally upgraded from the Debian Sid repository.

We first empty your package cache to prevent accidentally reinstalling the improper packages from there although you already disabled the repository again using this command:

sudo apt-get clean

Then we downgrade all the problematic libc-related packages to the correct version from the official Ubuntu repositories and remove the not available libc-l10n one using this long command:

sudo apt-get install libc6=2.19-0ubuntu6.7 libc6-dev=2.19-0ubuntu6.7 libc6-i386=2.19-0ubuntu6.7 libc-dev-bin=2.19-0ubuntu6.7 libc-bin=2.19-0ubuntu6.7 libc-l10n-

This will work. (You already confirmed that it works)