I use gsl. After I compiled my .cpp file and run it, I faced with below error:
error while loading shared libraries: libgsl.so.0: cannot open shared object file: No such
First, you need to locate the file (libgsl.so.0). You can do this, for example, by using the find
command:
sudo find / -name "libgsl.so.0"
Let us assume, the file is located in /usr/local/lib
.
(If the file has not been found, install the corresponding package or download the source, build it and install it.)
Now, you have two options:
(1) Quick & Dirty:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib
export LD_LIBRARY_PATH
This adds the path of the library to an environment variable. The disadvantage of this option is, that it is only valid for the current session. It will not work for other users. It will not work once you log off and on again.
(2) Permanent:
Review your /etc/ld.so.conf
. If /usr/local/lib
is not listed there, add it. Now, run ldconfig
to detect the shared object file and add it to some system-wide index.