I have updated both the patches to add the dependency that headless awt
must be built first and also corrected that AIX should be given the same treatment
as Solaris in both releases :
jdk9: http://cr.openjdk.java.net/~prr/8071710.1/
jdk8u: http://cr.openjdk.java.net/~prr/8071710.8u.1/

-phil.

On 01/28/2015 05:15 AM, 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

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

Reply via email to