Take the 2-minute tour ×
Ask Ubuntu is a question and answer site for Ubuntu users and developers. It's 100% free, no registration required.

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?

share|improve this question
add comment

3 Answers

up vote 4 down vote accepted
+50

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.

share|improve this answer
add comment

If you want to update libc6 to version 2.16, run next command in terminal:

sudo apt-get install libc6=2.16-0ubuntu5

If the above command will not work, download manually the version 2.16 of libc6 from here and follow this post to install it.

Now, if you still get the error from your question, you have to manually locate and symlink libc.so.6 to /lib/x86_64-linux-gnu/libc.so.6.

First, locate libc.so.6 with the next command:

locate libc.so.6

For me the result of the above command was: /lib/i386-linux-gnu/libc.so.6. So I will make a symlink as follow:

sudo ln -sf /lib/i386-linux-gnu/libc.so.6 /lib/x86_64-linux-gnu/libc.so.6

I had the same problem in a different situation and something like this fixed it up.

share|improve this answer
    
sudo ldconfig ???? –  Qasim Jul 8 '13 at 14:25
    
@Qasim What exactly do you mean? –  Radu Rădeanu Jul 8 '13 at 14:27
    
after that you need to run > sudo ldconfig < otherwise lib wont be loaded in DB –  Qasim Jul 8 '13 at 14:29
    
@Qasim In my case it was not necessary. –  Radu Rădeanu Jul 8 '13 at 15:06
    
How do I know that /lib/x86_64-linux-gnu/libc.so.6 correspond to version 2.16 and not to 2.15 (synaptic says that 2.15 is on the system, and I can't upgrade to 2.16) –  Bruno von Paris Jul 9 '13 at 8:46
show 2 more comments

Was the UVCDAT installation manually built one or downloaded the pre-built binaries ?

Binaries of UVCDAT 1.3.1 were built on Ubuntu 13.04 platform . Even if you solve this one, could come across many other errors. Try downloading UVCDAT 1.2. If you want the latest UVCDAT and want to stick to 12.04 try building from the source code. Else upgrade OS to 13.04 and use the latest UVCDAT 1.4.1.

share|improve this answer
add comment

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.