Ubuntu – libc.so.6: version `GLIBC_2.16′ not found

glibcupgrade

When importing a library (cdms2) in python, I get the following error message:

ImportError: /lib/x86_64-linux-gnu/libc.so.6: version `GLIBC_2.16' not found (required by /usr/local/uvcdat/1.3.1/Externals/lib/libcurl.so.4)

My version of libc6 is currently 2.15 (Ubuntu 12.04). My understanding is that the newest version is not in a stable repository: how can I force apt to update to version 2.16?

Best Answer

There is a much safer way to run a single app. Problem is: while glibc is meant to be backwards-compatible, it is not 100% accurate. Issues are known. So, do not update the library system-wide. Instead, prepare a whole set of updated libraries. Put them in, say, /catbed. Then just run

   /catbed/ld-linux.so.3 --library-path=/catbed:/whatever-else /usr/bin/python -python-args

Of cause, adapt the filenames to your case. This is much safer way to go, because if you mess up your system ld-linux+libc pair you will not be able to fix it from inside the OS. You will have hard times even chrooting into it then. I routinely use the trick for old proprietary Linuxes (gcc 3.1, kernel 2.3) on which I want to run Qt5.

Related Question