Hello,
On 2015-01-28 14:15, Magnus Ihse Bursie wrote:
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
Thanks for noticing this Magnus!
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
Actually, in the jdk8 patch, only solaris is changed, but in the jdk9
patch, both aix and solaris are changed. If that is indeed the
intention, the above is correct for jdk8, but I suspect the changes
should match?
/Erik
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