[OpenJDK 2D-Dev] [11u] Backport of 8247872: Upgrade HarfBuzz to the latest 2.7.2

Langer, Christoph christoph.langer at sap.com
Thu Jan 7 22:41:38 UTC 2021


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