I have installed rh-ruby26 on my machine as a root user and it got installed under /opt/rh/rh-ruby26/root/bin/ruby..when I have tried to execute a script , am getting "error while loading shared libraries: libruby.so.2.6:cannot open shared file object file: no such file or directory" . So to fix the issue I have set the LD_LIBRARY_PATH and it got worked.To fix it permanantly I have linked the libruby.so to lib64 path.so my questions are

  1. Why the libruby.so is not stored under standard library path? 2.what are all the standard library path , we need to check if we are looking for any library? 3.If normal user installed the same rh-ruby26 package then where the libruby.so file will store?

Please help me to find the answer.thanks in advance

1 Answer 1


It sounds like you are using a software collection. These are intentionally kept separated from the standard system paths so that multiple versions can be installed simultaneously, and to not conflict with the original version shipped with the distribution.

The documentation tells how to use software collections. What you need to do from a terminal is to execute scl enable rh-ruby26 bash to get a shell with this software collection enabled. See the linked docs for information on how to make a system service that uses a software collection.


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.