Sometimes, for one reason or another, a program hasn't specified or included all its dependencies correctly, and starting it up results in errors indicating missing dependencies. A typical error is something like:
cannot open shared object libudev.so.0
I see a lot of answers advising people to work around such problems by making symlinks in /usr/lib
or other system locations, and this does seem to often solve the problem. But I see an equal number of comments advising people that it's a bad idea. Here's one answer that's representative.
Under what circumstances is it acceptable to symlink a library to make a program work? Never? Sometimes? What if you delete the symlink after you finish running the program?
What are the the consequences of doing this?