[OpenJDK 2D-Dev] [11u] Backport of 8247872: Upgrade HarfBuzz to the latest 2.7.2
Doerr, Martin
martin.doerr at sap.com
Fri Jan 8 10:36:11 UTC 2021
Hi Christoph,
> is there any other reason why harfbuzz 2.7.2 needs to be backported to
> OpenJDK 11 beyond the fact that Oracle did it?
I don't have other reasons at the moment. I'd be fine with deferring it until anyone has a demand. I'm just evaluating options in order to be prepared.
> I think both, having to uplift compiler requirements and/or requiring
> additional system dependencies, would be a price too high to pay for this.
> And modifying the code to work without c++11 features doesn't seem
> feasible.
I agree with that. Note that officially supported compilers for "main platforms" (not AIX, not Solaris) don't need upgrades (https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms).
It should also be possible to add both versions and modify the build such that it uses the old HarfBuzz version only for old compilers. But I'd vote for that only if we really need the new version on "main platforms".
Best regards,
Martin
> -----Original Message-----
> From: Langer, Christoph <christoph.langer at sap.com>
> Sent: Donnerstag, 7. Januar 2021 23:42
> To: Severin Gehwolf <sgehwolf at redhat.com>; Doerr, Martin
> <martin.doerr at sap.com>; jdk-updates-dev at openjdk.java.net; 2d-
> dev at openjdk.java.net
> Subject: RE: [OpenJDK 2D-Dev] [11u] Backport of 8247872: Upgrade HarfBuzz
> to the latest 2.7.2
>
> Hi,
>
> is there any other reason why harfbuzz 2.7.2 needs to be backported to
> OpenJDK 11 beyond the fact that Oracle did it?
>
> I think both, having to uplift compiler requirements and/or requiring
> additional system dependencies, would be a price too high to pay for this.
> And modifying the code to work without c++11 features doesn't seem
> feasible.
>
> Just my .02€ at this point...
>
> Best regards
> Christoph
>
> > -----Original Message-----
> > From: 2d-dev <2d-dev-retn at openjdk.java.net> On Behalf Of Severin
> > Gehwolf
> > Sent: Donnerstag, 7. Januar 2021 18:32
> > To: Doerr, Martin <martin.doerr at sap.com>; jdk-updates-
> > dev at openjdk.java.net; 2d-dev at openjdk.java.net
> > Subject: Re: [OpenJDK 2D-Dev] [11u] Backport of 8247872: Upgrade
> HarfBuzz
> > to the latest 2.7.2
> >
> > On Thu, 2021-01-07 at 17:16 +0000, Doerr, Martin wrote:
> > > Hi,
> > >
> > > I've created a jdk11u backport of JDK-8247872: Upgrade HarfBuzz to
> > > the latest 2.7.2
> > > http://cr.openjdk.java.net/~mdoerr/8247872_harfbuzz_11u/webrev.00/
> > >
> > > I had to resolve it a bit manually [1].
> > > However, the main problem is that it heavily uses C++11, so easiest
> > > solution is to add HARFBUZZ_CFLAGS := -std=c++11.
> > > This works for all supported compilers [2] except xlC on AIX and sun
> > > studio on Solaris.
> >
> > We are building vanilla JDK 11 builds with gcc 4.4.7 which doesn't
> > support the -std=c++11 option. We've had issues in that area before.
> > See JDK-8256557.
> >
> > Thanks,
> > Severin
> >
> > > I could envision different solutions:
> > >
> > > 1. Change code to work with older C++ standard. I don't want to do
> > > this because this seems to be significant effort and is probably
> > > error prone (I'm not really familiar with the code and TMP code is
> > > hard to adapt). And we may have to repeat it for future HB upgrades.
> > > 2. Upgrade compilers: This is possible on AIX. We'd need to
> > > backport some build changes and use xlclang++. But I guess there's no
> > > solaris studio available which can compile it. Note that the original
> > > bug was blocked by JEP 362: Deprecate the Solaris and SPARC Ports.
> > > 3. Use configure flag --with-harfbuzz=system on the problematic
> > > platforms. Disadvantage: All machines require new enough version of
> > > libharfbuzz installed.
> > > 4. Skip JDK-8247872 backport. Oracle must have had a reason for
> > > backporting it to 11.0.11-oracle, so some jdk11u users will probably
> > > want to have it at least on the main platforms.
> > >
> > > Any comments or ideas will be appreciated.
> > >
> > > Best regards,
> > > Martin
> > >
> > >
> > > [1] Resolution steps:
> > > - Manually delete hb-dsalgs.hh.
> > > - Awt2dLibraries.gmk is at a different location in 11u.
> > > - Integrate a few hunks manually due to minor adaptations for Solaris
> > > build: see
> > >
> >
> http://cr.openjdk.java.net/~mdoerr/8247872_harfbuzz_11u/8247872_harfb
> > uzz_failing_hunks.txt
> > > - Add HARFBUZZ_CFLAGS := -std=c++11 to Awt2dLibraries.gmk.
> > >
> > > [2] Supported compilers:
> > > https://wiki.openjdk.java.net/display/Build/Supported+Build+Platforms
> > >
> >
More information about the jdk-updates-dev
mailing list