0

I can't seem to work out how to fix the "error while loading shared libraries: libudev.so.0: cannot open shared object file: No such file or directory"

Being on 12.04 (precise) 64-bit, I've tried sudo ln -sf /lib/x86_64-linux-gnu/libudev.so.1 /lib/x86_64-linux-gnu/libudev.so.0. But to no awail.

3

I ran into this problem after upgrading from 12.04 to 14.04. I was thinking same direction as you, patching the issue with a link. Maybe the location you chose was wrong?

I used find to locate libudev.so.1 : /lib/i386-linux-gnu/libudev.so.1

Them I solved my problem with this link:

 ln -s /lib/i386-linux-gnu/libudev.so.1 /lib/i386-linux-gnu/libudev.so.0

When using find you need to be careful; either use the full exact name, or use wildcards and put the name in quotes

0

The way I've done it is on an application by application basis not system wide. On an app by app basis, in the directory where I downloaded the application I created a symlink by issuing:

application_directory$ ln -s /lib/x86_64-linux-gnu/libudev.so.1 libudev.so.0

then checking that it's resolving the dependency with:

application_directory$ LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" ldd ./<application>

and, finally, launching the application:

application_directory$ LD_LIBRARY_PATH=".:$LD_LIBRARY_PATH" ./<application>

I preffer this approach because it doesn't require root, but it only works it the application is installed in your home directory.

Otherwise you need to create the symlink system wide, just like you did, but you also need to update the ld cache after creating the symlink in /lib with sudo ldcache -v. Check the output for the libudev.so.0 line.

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

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