[OpenJDK 2D-Dev] Runtime paths for awt*.so on Solaris

Phil Race philip.race at oracle.com
Thu Mar 20 16:22:35 UTC 2014

/usr/dt/lib is where Solaris (and other OSes like AIX, HP-UX) kept the 
CDE/motif runtime.

I can't think of any reason its still needed today.

As for the "sfw" one, that seems to be the only place libXrender is to 
be found on Solaris 10.
Note that this dlopen'd by the JDK. I am not sure how the path is being 
set up so it can
be found but if you remove this perhaps it will no longer be found. 
You'd need to test this
on Solaris 10 & 11 I think.


On 3/20/2014 5:43 AM, Erik Joelsson wrote:
> Hello,
> While going through the makefiles for native libraries in the jdk, I 
> noticed that there are a couple of runtime paths set in the link 
> command lines that don't seem to be used, specifically:
> libawt.so: -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) 
> libawt_xawt.so: -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR)
> libawt_headless.so: -R/usr/dt/lib$(OPENJDK_TARGET_CPU_ISADIR) 
> In addition to this, libjawt.so and libsplashscreen.so are specifying 
> one or both of -L$(OPENWIN_LIB)$(OPENJDK_TARGET_CPU_ISADIR) and 
> corresponding -R flag to help them find the libs at runtime. This 
> seems to be working currently because libX11.so and libXext.so have 
> softlinks in /usr/lib so the extra -L flag for libsplashscreen is 
> unnecessary, and for libjawt.so, I'm guessing that it's piggy backing 
> on libawt.so/libawt_xawt.so to find the dependencies from their -R paths.
> I'm wondering if there could be hidden reasons for doing this or if 
> it's simply just leftovers from long ago? I'm working on a patch where 
> I would like to clean this up and so far, ldd seems happy finding all 
> dependencies after removing the seemingly unneeded -R flags and adding 
> them to the libraries that actually need them. The /usr/dt/lib path 
> doesn't seem to be used by anyone so I removed that completely.
> /Erik

More information about the 2d-dev mailing list