What can go wrong with a GLIBC upgrade?

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?

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.


You can refer to the 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).

enter image description here