Unix & Linux Stack Exchange is a question and answer site for users of Linux, FreeBSD and other Un*x-like operating systems. Join them; it only takes a minute:

Sign up
Here's how it works:
  1. Anybody can ask a question
  2. Anybody can answer
  3. The best answers are voted up and rise to the top

I have CentOS 7 installed. I want to install the APR package for Apache, and I'm told I cannot install it because it requires at least glibc.2.14 while I have glibc.2.12 installed. I have downloaded the glibc.2.17.rpm package, I then install it but it throws an error that it requires glibc.common.2.17 to be installed.

I'm now stuck, because when I try to install glibc.common.2.17, it throws an error that it requires glibc.2.17 (the package that I first wanted to install). There is a circular dependency it seems. How can I update glibc 2.12 in CentOS 7? I'm totally confused...

share|improve this question
    
Why aren't you using yum to update? That would automate this process for you. But if you've ran into a circular dependency you can usually add --nodeps --force to the end of the rpm command. – Bratchley Dec 30 '14 at 14:58
    
when I use yum update, it updates to the same version, 2.12. – Mostafa Talebi Dec 30 '14 at 15:00
    
That's interesting, you might check to see if there's an alternative package name. Sometimes RHEL/CentOS will have a lower version number for the regular package name and a more specific name for a later version. For example, on RHEL6 samba is Samba 3.5 whereas samba4 is Samba 4.0. I don't have a RHEL/CentOS system to test with but you might do a yum search glibc to see if that's the case here. – Bratchley Dec 30 '14 at 15:02
up vote 3 down vote accepted

You need to download the following 4 packages from a mirror:

  1. glibc-2.17-55.el7.i686.rpm
  2. glibc-2.17-55.el7.x86_64.rpm
  3. glibc-common-2.17-55.el7.x86_64.rpm
  4. glibc-headers-2.17-55.el7.x86_64.rpm

After doing so, issue a rpm -ivh glibc-*. If that fails, download:

  1. glibc-devel-2.17-55.el7.i686.rpm
  2. glibc-devel-2.17-55.el7.x86_64.rpm

and reissue the command again. After getting glibc updated, issue a yum update to resolve any new dependencies.

share|improve this answer

If you have glibc 2.12 installed, you do NOT have CentOS7; you're on CentOS6. While there's been a lot of grief about the locking of major/minor versions after distro release - it's for stability, testing and certification; you'll learn the value later - the version you're looking at should not exist under an up-to-date centos7.

Update your CentOS7, do a yum install of apr (apr-devel too?) and you're done.

If you DO have CentOS6, apr-1.3.9-5.el6_2.x86_64 requires glibc-2.12 . Yum install will get you what you need here, as well.

In general

  1. Don't mix RPMs from alient repositories: you're looking for pain.
  2. Don't mix RPMs from two different distro releases -- they're designed to work together, and tested so.
  3. if it's suddenly hard, or there are strange messages, there's a really good chance you're doing something you should not.
  4. Dependency Hell [tm] is self-inflicted. No exceptions.

I worked at a distro; not in Support but adjacent to it. #4 is a well-tested theory.

share|improve this answer

Your Answer

 
discard

By posting your answer, you agree to the privacy policy and terms of service.

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