tech-userlevel archive

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

Re: Linker and inter-library dependencies



In article <4DD78786.4050706%msys.ch@localhost>, Marc Balmer  
<marc%msys.ch@localhost> wrote:
>I am having some trouble with inter-library dependencies.
>
>A small C programs links against
>/usr/pkg/java/openjdk7/jre/lib/i386/libjava.so.  libjava.so itself has
>some dependencies, which are found in the same directory as libjava.so
>itself and the client/ directory below:
>
>netbsd5# ldd libjava.so
>
>libjava.so:
>        -ljvm => not found
>        -lverify => not found
>        -lc.12 => /usr/lib/libc.so.12
>

Yes, this is by design. java uses LD_LIBRARY_PATH for some reason to
resolve its dependencies (presumably so it can be installed in different
places). The interpreter re-execs itself and sets LD_LIBRARY_PATH. This
is what $ORIGIN was invented for, but I guess since not everyone has it
nobody can use it.

christos



Home | Main Index | Thread Index | Old Index