Take the 2-minute tour ×

I recently installed a piece of software that my group needs for a research project starting next September. Turns out the software has a known crash bug when used with glibc 2.12.1. My boss asked if we can upgrade glibc on the server that's supposed to run it. Cue my skeptical silence....

At some point, I got it into my brain that messing with glibc was about as good an idea as messing with a hungry puma; however, I've been unable to determine the source of this belief. So, if I go ahead with this:

  1. Am I doing something flagrantly stupid (e.g. I won't fix my problem, I will brick my server, or I will initiate a zombie apocalypse)?
  2. What can go wrong?
  3. What is likely to go wrong?
  4. How do I avoid the answers to 2 and 3?
share|improve this question

migrated from stackoverflow.com Aug 29 '12 at 9:07

This question came from our site for professional and enthusiast programmers.

First, check if your distro has glibc upgrades that fixes the bug. A particular glibc of a distro might contain many backports/bugfixes to its glibc compared to the official glibc, but the distro version is still the same. –  nos Aug 28 '12 at 17:30
As long as you have some bootable removable medium (USB flash stick, CD, DVD) the machine isn't truly bricked. Rescue will be possible by reinstalling glibc from there. To avoid any danger, you could try compiling a new glibc as a non-root user with --prefix=$HOME then point your LD_LIBRARY_PATH at it and see if it works. As a non-root user you can't screw the whole system no matter how bad you mess up. If that does work, change it to --prefix=/usr/local/bleeding-edge-glibc and document LD_LIBRARY_PATH=/usr/local/bleeding-edge-glibc/lib as a requirement for the research project –  Alan Curry Aug 28 '12 at 20:45
Can't you upgrade the distribution? And you should tell use what is the glibc bug you are afraid of, and what kind of software are you using. You might patch your software (assuming you have its source code), or configure otherwise your system, to circumvent it. –  Basile Starynkevitch Aug 29 '12 at 6:03
Avoid using old server software for new projects whenever possible. –  Michael Hampton Aug 29 '12 at 9:14

2 Answers 2

up vote 3 down vote accepted

It is often possible to compile up a fresher libc, and have one piece of software use a different library to everyone else.

The biggest painpoint between libc versions is thread local storage, IIRC. If you're passing this milestone, all bets are off.

Having said all that - I would strongly recommend that you simply upgrade the distro to something modern. Doing piecemeal upgrades is likely to lead to the sort of pain that has you chasing your tail for months.

share|improve this answer

You can refer to this compatibility table to determine binary-compatible versions.

Usually it's not a problem to upgrade glibc to a newer version, but you should build it with the same configuration flags as used in your distribution (see spec file in the appropriate srpm package).

share|improve this answer

Your Answer


