Nishikant Kapoor (H) writes:
> Kapoor, Nishikant X wrote:
>
> > > 1) Your system's libc version
> > > 2) Your system's libdl version
> > >
> > > ldd <yourjavadir>/bin/i386/green_threads/java
> > >
>
> nkapoor:/home/nkapoor> ldd $JAVA_HOME/bin/i386/green_threads/java
> libjava.so => not found
> libm.so.5 => /lib/libm.so.5.0.9
> libdl.so.1 => /lib/libdl.so.1.7.14
> libawt.so => not found
> libXpm.so.4 => /usr/X11R6/lib/libXpm.so.4
> libXt.so.6 => /usr/X11R6/lib/libXt.so.6
> libICE.so.6 => /usr/X11R6/lib/libICE.so.6
> libSM.so.6 => /usr/X11R6/lib/libSM.so.6
> libXext.so.6 => /usr/X11R6/lib/libXext.so.6
> libX11.so.6 => /usr/X11R6/lib/libX11.so.6
> libc.so.5 => /lib/libc.so.5.4.45
> libX11.so.6 => /usr/X11R6/lib/libX11.so.6.1
> libSM.so.6 => /usr/X11R6/lib/libSM.so.6.0
> libICE.so.6 => /usr/X11R6/lib/libICE.so.6.0
>
> > 3) Whether you had to remove libc and libdl to make Java work for you
> No.
>
> Well, now that I see it, can anyone please tell me why do I have
> libjava.so => not found
> libawt.so => not found
This is easy: Your system does not know about libjava and libawt, so ldd
says it can't find them. HOWEVER, when you run a java program (java, javac,
etc), the LD_LIBRARY_PATH environment variable (which tells libdl where to find
additional shared libraries), gets set to include the
<java>/lib/i386/green_threads directory, where libjava.so and libawt.so live,
and then the bin/i386/green_threads/java program (the actual executable) gets
run, so it can resolve references to things in libjava and libawt just fine.
Steve