[OpenJDK 2D-Dev] RFR: 8071710: [solaris] libfontmanager should be linked against headless awt library

Magnus Ihse Bursie magnus.ihse.bursie at oracle.com
Wed Jan 28 13:15:27 UTC 2015


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



More information about the build-dev mailing list