"libjawt.so" not loaded by Java 7

Kapta Ulo ulo_kapta at hotmail.com
Sat Aug 6 06:55:10 PDT 2011


Thanks for clearing that up, much appreciated.
It seems that LWJGL was relying on java.awt.Toolkit.getDefaultToolkit(); to load libjawt.so, which had worked fine but is no longer the behaviour with Java 7.

The fix/solution to the problem was to just manually load libjawt.so using System.loadLibrary("jawt");
Thanks
Kapta

> Date: Wed, 3 Aug 2011 06:37:37 +0100
> From: ahughes at redhat.com
> To: ulo_kapta at hotmail.com
> CC: jdk7-dev at openjdk.java.net
> Subject: Re: "libjawt.so" not loaded by Java 7
> 
> On 09:45 Tue 02 Aug     , Kapta Ulo wrote:
> > 
> > Hi,
> > The Java 7 release seems to have broken the LWJGL project on Linux, it no longer works and complains that "libjawt.so" is not loaded. The project has been calling the following method: java.awt.Toolkit.getDefaultToolkit(); to ensure that this native file is loaded, this has worked fine for the last 6 or so years. There seems to have been some internal change which causes this to break. Any idea's on what it could be and how to fix this?
> > There is some more information on the LWJGL forum here http://lwjgl.org/forum/index.php/topic,4085.0.html
> > Some people have found a workaround using "sudo ldconfig /opt/java/jre/lib/amd64/" which they claim allows it to work as before, but doesn't really explain why its failing, any idea's or pointers would be appreciated.
> 
> If adding the library on the system library path is fixing it, it could be related to:
> 
> 6367077: Purge LD_LIBRARY_PATH usage from the launcher
> http://hg.openjdk.java.net/jdk7/jdk7/jdk/rev/de45eac5670e
> 
> 'Previously the launcher modified the LD_LIBRARY_PATH appropriately for the
>  desired data model path, regardless if data models matched or not. The
>  launcher subsequently exec'ed the desired executable, in order to make the
>  LD_LIBRARY_PATH path available for the runtime linker. This is no longer the
>  case, the launcher dlopens the target libjvm.so. All other required
>  libraries are loaded by the runtime linker, by virtue of the $ORIGIN paths
>  baked into the shared libraries, by the build infrastructure at compile time.'
> 
> Have you only seen this with LWJGL i.e. can other Java applications find libjawt.so?
> 
> > Thanks
> > Kapta 		 	   		  
> 
> -- 
> Andrew :)
> 
> Free Java Software Engineer
> Red Hat, Inc. (http://www.redhat.com)
> 
> Support Free Java!
> Contribute to GNU Classpath and IcedTea
> http://www.gnu.org/software/classpath
> http://icedtea.classpath.org
> PGP Key: F5862A37 (https://keys.indymedia.org/)
> Fingerprint = EA30 D855 D50F 90CD F54D  0698 0713 C3ED F586 2A37
 		 	   		  


More information about the jdk7-dev mailing list