Help with static linking and UnsatisfiedLinkError

Suresh Raman sugansha@yahoo.com
Mon Jul 22 09:06:00 GMT 2002


Here it is, the ldd output of my .so

ldd libCRC.so
  libgcc_s.so.1 => /usr/local/gcc31/lib/libgcc_s.so.1 (0x40003000)
  libc.so.6 => /lib/libc.so.6 (0x4001c000)
  /lib/ld-linux.so.2 => /lib/ld-linux.so.2 (0x80000000)

Now, if I also copy libgcc_s.so.1 in the directory pointed to by
LD_LIBRARY_PATH, the program works fine.

Is that all you have to say O' master, or do you have more words of
your boundless wisdom for my humble self. :-)

thanks,
--Suresh

--- Andrew Haley <aph@cambridge.redhat.com> wrote:
> Suresh Raman writes:
>  > 
>  > Hi,
>  > 
>  > I have a simple java program that uses JNI, thereby requiring a
>  > loadLibrary call.  It runs fine when I build it using the normal
> way.
>  > (gcj --main=test test.java).
>  > 
>  > I build it using "-static" and it still runs fine, but only if my
>  > LD_LIBRARY_PATH environment variable points to the gcc31
> installation's
>  > lib directory (/usr/local/gcc31/lib).
>  > 
>  > The moment I remove /usr/local/gcc31/lib from my LD_LIBRARY_PATH,
> (the
>  > path to my JNI implementation .so file is still there), I get a
>  > UnsatisfiedLinkError in the System.loadLibrary() call.
> 
> What libraries does the native code use?  What does "ldd" say about
> the .so?
> 
> Andrew.

__________________________________________________
Do You Yahoo!?
Yahoo! Health - Feel better, live better
http://health.yahoo.com



More information about the Java mailing list