[12u] AIX build is broken after integration of 12.0.2 due to JDK-8210782

rob.mckenna at oracle.com rob.mckenna at oracle.com
Fri Jul 19 13:23:37 UTC 2019


Hi Christoph,

This change should have been pushed via the open repos. Thats a message
we've been attempting to spread, but unfortunately this change predates that
effort.

For now, please file a push approval request and I'll approve it.

    -Rob

On 18/07/19 08:06, Langer, Christoph wrote:
> Hi Rob, all,
> 
> when trying to build OpenJDK 12.0.2 on AIX, we discovered that it is broken due to the change of JDK-8210782 "Upgrade HarfBuzz to the latest 2.3.1". We discovered the AIX issue already during backport of that item to jdk11u. But as Oracle did do the HarfBuzz upgrade for 12.0.2 in their closed repo, the problem was only discovered there when 12.0.2-ga was made public.
> 
> For all people out there that need to build AIX 12.0.2, here is the required patch (just verified it):
> 
> # HG changeset patch
> # Parent  c45c2cbfb841932934185a92ad115f6dd43d4b8a
> Fix Harfbuzz 2.3.1 build for AIX XlC 12.1
> 
> diff -r c45c2cbfb841 -r c61eeea82197 src/java.desktop/share/native/libfontmanager/harfbuzz/hb-null.hh
> --- a/src/java.desktop/share/native/libfontmanager/harfbuzz/hb-null.hh             Wed Jul 17 14:58:26 2019 +0000
> +++ b/src/java.desktop/share/native/libfontmanager/harfbuzz/hb-null.hh         Thu Jul 18 07:40:29 2019 +0100
> @@ -83,7 +83,9 @@
>  template <typename T, typename V, typename B>
> struct _hb_assign
> -{ static inline void value (T &o, const V v) { o = v; } };
> +// add cast to please AIX xlc12.1
> +//{ static inline void value (T &o, const V v) { o = v; } };
> +{ static inline void value (T &o, const V v) { o = (T&) v; } };
> template <typename T, typename V>
> struct _hb_assign<T, V, _hb_bool_type<(bool) (1 + (unsigned int) T::min_size)> >
> { static inline void value (T &o, const V v) { o.set (v); } };
> 
> Rob, shall/can I push this to jdk12u (knowing that this repo is de-facto done as probably nobody will pick up OpenJDK 12 updates)? But I think there'd be some benefit when the repo head would be buildable everywhere... Maybe we should also have another post-ga tag there... don't know.
> 
> In any case, I think the process for JDK12 updates or future update releases lead by Oracle is not very optimal for OpenJDK community update releases. This is because you do quite a few pre-GA integrations in your closed repo for changes that could be public. These get only published on the release day. I understand that this can't be done for security updates. However, we should think of process improvements allowing you to merge your build tags on a weekly basis back to the public jdk<nn>u repository to allow testing for downstream vendors. Maybe that's something that can be discussed in the upcoming OpenJDK committers workshop.
> 
> Thanks and best regards
> Christoph
> 
> 
> 


More information about the jdk-updates-dev mailing list