I've edited my /etc/bashrc
to set LD_LIBRARY_PATH
like in my previous question that I asked. However it does not seem to be taking effect. Even though echo $LD_LIBRARY_PATH
does show my modifications. And running my program: LD_LIBRARY_PATH="/usr/local/lib" ./test.cgi
explicity does work. Do I need to reboot the system? What's going on?
2 Answers
You need to export
the variable.
export LD_LIBRARY_PATH="/usr/local/lib"
./test.cgi
Your formulation LD_LIBRARY_PATH="/usr/local/lib" ./test.cgi
sets the variable in the current shell. If you're just running LD_LIBRARY_PATH=/usr/local/lib ; ./test.cgi
you will set it in the current shell, but not in the child process ./test.cgi.
From the bash
man page:
export:
The supplied names are marked for automatic export to the environment of subsequently executed commands.
-
Your answer to my other question was incorrect because this works! :/ Mar 24, 2012 at 13:51
-
Try to run ldconfig -v
to rebuild the library cache.
-
This was not the problem, but then again I just rebooted so it was probably already done. Mar 24, 2012 at 13:49
LD_LIBRARY_PATH="/usr/local/lib" ./test.cgi
works./test.cgi
does not.