Program can't find shared libraries
>>>>> "Matt" == Matt Miller <mmiller@extremezone.com> writes:
Matt> I've built an application that consists of serveral executable
Matt> programs and several shared libraries. The programs need the
Matt> shared libraries, but the programs can't find the libraries.
Matt> Here is an error I receive when trying to start a program:
Matt> /usr/local/panther/run/util/prodev: error while
Matt> loading shared libraries: libsmdb.so: cannot open
Matt> shared object file: No such file or directory
Matt> The app's build process put several shared libraries in a /lib
Matt> subdirectory of the app's home directory. What's the best
Matt> solution? Here are some of my ideas:
Matt> 1. copy the libraries to /lib or /usr/lib
Not a very wise move IMHO.
Matt> 2. put symlinks in /lib or /usr/lib
Even less wise.
Matt> 3. set some environment variable or something to tell
Matt> this particular suite of programs to check the app's
Matt> special /lib directory.
LD_LIBRARY_PATH is your friend, Matt. Add the following to your
~/.bashrc, /etc/environment or whatever other file you get your
environment variables from:
LD_LIBRARY_PATH=$LD_LIBRARY_PATH:<path-to_your_app>/lib
export LD_LIBRARY_PATH
And you're all set.
[]s
--
Allan F. Caetano
Universo On Line - EngProd - F: (11) 224 4418
ComVc: 479966 ICQ: 68214944
"Who is this peer that keeps resetting my connection?
I have a broken pipe I wanna hit him with!"
Reply to: