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_harfbuzz_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 >