2

I am running into following error:

version GLIBC_2.14 not found 
version GLIBC_2.15 not found

when trying to install software I need.

Therefore, I decided to upgrade libc6 on my debian (Linux nn15.project.org 3.2.0-4-amd64 #1 SMP Debian 3.2.46-1 x86_64 GNU/Linux).

I found the libc6 package in this page and I guess I probably need unstable version.

My questions are following:

  1. How do I install specific version? So far I only used apt-get install package,
  2. without specifying which one.which version should I use?
  3. What's the difference between libc6-amd64, libc6-dbg, libc6-dev and others?

I am using: Distributor ID: Debian Description: Debian GNU/Linux 7.1 (wheezy) Release: 7.1 Codename: wheezy

  • What vesion of Debian are you running? Run lsb_release -a to find out. In general, upgrading libc6 (the C library) above the version available in your system is not a good idea and may break your system. – Faheem Mitha Feb 4 '14 at 19:46
  • @FaheemMitha thanks, I updated my question. I am using wheezy. – Perlnika Feb 4 '14 at 20:14
1

As @faheem-mitha shared it isn't a good idea to just randomly upgrade your glibc package as you may run into other problems.

If however, you still want to give it a go, the unstable version which you would looking for is now in the stable/jessie version.

So the first thing you would need to check is if the libc6 release you require is in backports. See backports.debian.org . If however, it is not there then

You would need to add to add the jessie repositories in addition to the wheezy repositories which you have already got in your /etc/apt/sources.list

Along with that, you would also have to explicitly give valuation in /etc/apt/preferences stating which sources have more of a weight-age than others.

See https://wiki.debian.org/AptPreferences for explanation.

Whether you are running backports or running any other version besides the version you are running (i.e. wheezy) it is a good idea or practice to have pin-priority so that by mistake a certain version does not get installed.

After doing that, do a sudo aptitude update

Once that is done you can see which versions of libc6 are installable/gettable on your system by doing either $apt-show-versions -a $PACKAGENAME or $apt-cache policy $PACKAGENAME

For instance at my end :-

$ apt-cache policy libc6
libc6:
  Installed: 2.21-0experimental1
  Candidate: 2.21-0experimental1
  Version table:
 *** 2.21-0experimental1 100
          1 http://httpredir.debian.org/debian experimental/main amd64 Packages
        100 /var/lib/dpkg/status
     2.19-20 990
        990 http://httpredir.debian.org/debian testing/main amd64 Packages
        100 http://httpredir.debian.org/debian unstable/main amd64 Packages

Now for installing a specific version you do :-

$sudo aptitude install libc6=2.21-0experimental1 . It is a certainty that there would be other packages which would also need to be upgraded otherwise they would complain. Upgrade all the packages which complain and once they have cleanly installed, reboot the system, run $sudo aptitude autoclean once and you are in business.

As far as differences between the various libc6 packages are concerned, each binary package performs a little different functionality. For e.g. -dbg is in case the c library has a bug and needs to be debugged, similarly -dev is used if you want to compile a program which needs the updated libc6 library and so on and so forth.

You can use $aptitude show $PACKAGENAME to find more about a package.

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.