On 2015-01-27 22:24, Phil Race wrote:
Hi,
A mistake was made in JDK 8 so that the font libraries for Solaris are
now
being linked against X11 libraries and this is a problem for headless
(server) use
For more details see :
https://bugs.openjdk.java.net/browse/JDK-8071710
I am presenting jdk 9 & 8 fixes here since this needs a backport and the
change is not identical
The open part of the JDK 9 fix : http://cr.openjdk.java.net/~prr/8071710/
The complete JDK 8 fix : http://cr.openjdk.java.net/~prr/8071710.8u/
(the t2k linking was moved to closed at some point)
I've submitted JPRT jobs and also verified that UI demos (like
SwingSet2) still run
There is an additional fix you need to to, otherwise you will introduce
a race condition.
This code:
ifneq (, $(findstring $(OPENJDK_TARGET_OS), solaris aix))
$(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT_XAWT)
endif
makes sure that libfontmanager is not built until libawt_xawt is present
(otherwise linking will fail). With your patch, you should change this to
ifeq ($(OPENJDK_TARGET_OS), aix))
$(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT_XAWT)
else ifeq ($(OPENJDK_TARGET_OS), solaris))
$(BUILD_LIBFONTMANAGER): $(BUILD_LIBAWT_HEADLESS)
endif
Otherwise, it looks good.
Erik and I have been discussing for some time to change the framework so
this kind of dependencies will be automatically enforced, but somehow
that idea always gets pushed down the priority slide. :(
/Magnus