/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.
-phil.
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)
-R$(OPENWIN_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)
-R$(OPENWIN_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
-L$(OPENWIN_HOME)/sfw/lib$(OPENJDK_TARGET_CPU_ISADIR) without a
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