Skip to main content
Topic: A potential solution to fixing missing shared libraries (Read 558 times) previous topic - next topic
0 Members and 1 Guest are viewing this topic.

A potential solution to fixing missing shared libraries

Everyone has that "error while loading shared libraries: libX.so.Y: cannot open shared object file: No such file or directory" problem with a program every once in a while.

The easiest solution is symlinking the missing library version to the one you have.

EDIT: Also carefully read the below post

For example your program is complaining that libfoo.so.1 is missing, you do some digging in /usr/lib and find that libfoo.so exists just not the specific version the program wants.

You can try fixing the problem by this command:
Code: [Select]
# ln -s /usr/lib/libfoo.so /usr/lib/libfoo.so.1

Now you can test your program.

 

Re: A potential solution to fixing missing shared libraries

Reply #1
Be careful when trying this at home. Libraries are renamed like this when functions are added, removed or change behavior. The first case is safe, but in the second, programs will not start even with the symlink, and in the third they may fail seemingly without reason.

If you stumble upon this sort of error, always try doing a full system upgrade (pacman -Syu) first to rule out a partial upgrade. If the package comes from the Artix repository (check the Packager in pacman -Qi package) and you find yourself needing to do this trick after a full system upgrade, that's a bug that should be reported here.