[OpenJDK 2D-Dev] RFR: 8255790: GTKL&F: Java 16 crashes on initialising GTKL&F on Manjaro Linux

Alexander Zvegintsev azvegint at openjdk.java.net
Mon Mar 15 10:50:13 UTC 2021

On Sat, 13 Mar 2021 00:15:16 GMT, Phil Race <prr at openjdk.org> wrote:

> From a build perspective this partially reverts https://bugs.openjdk.java.net/browse/JDK-8249821 except that it keeps 
> the harfbuzz sources separate and still supports building and running against a system harfbuzz which is only of interest or relevance on Linux.
> I ended up having to go this way because its is the least unsatisfactory solution.
> I did not want us to build a devkit to link against a system linux only to find we couldn't use it at runtime
> because too many systems have to old a version of harfbuzz.
> This solves the Manjaro Linux problem and I've manually verified building against a system hardbuxz on Ubuntu 20.10
> There are couple of incidental fixes in here too
> - "libharfbuzz" should not have been in the EXTRA_HEADERS var when building against a system version
> - harfbuzz/hb-ucdn is gone and should not be listed as a header directory needed to build the bundled copy
> - I expect it also resolves https://bugs.openjdk.java.net/browse/JDK-8262502

make/modules/java.desktop/lib/Awt2dLibraries.gmk line 465:

> 463:         tautological-constant-out-of-range-compare int-to-pointer-cast \
> 464:         undef missing-field-initializers range-loop-analysis
> 465:     HARFBUZZ_DISABLED_WARNINGS_microsoft := 4267 4244 4090 4146 4334 4819 4101 4068 4805 4138

Looks like that this block has extra indent of 1 space.

make/modules/java.desktop/lib/Awt2dLibraries.gmk line 479:

> 477:   # when building libharfbuzz
> 478:   ifeq ($(call isTargetOs, aix), true)
> 479:     LIBHARFBUZZ_CFLAGS += -qdebug=necan

I couldn't find the `-qdebug=necan` in the updated makefile. Does the [JDK-8258484](https://bugs.openjdk.java.net/browse/JDK-8258484) handled is some other way?


PR: https://git.openjdk.java.net/jdk/pull/2982

More information about the 2d-dev mailing list