[Date Prev][Date Next] [Thread Prev][Thread Next] [Date Index] [Thread Index]

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: