JDK-8266545 : 8261169 broke Harfbuzz build with gcc 7 and 8
  • Type: Bug
  • Component: client-libs
  • Affected Version: 11,17
  • Priority: P2
  • Status: Resolved
  • Resolution: Fixed
  • Submitted: 2021-05-05
  • Updated: 2022-05-16
  • Resolved: 2021-05-06
The Version table provides details related to the release that this issue/RFE will be addressed.

Unresolved : Release in which this issue/RFE will be addressed.
Resolved: Release in which this issue/RFE has been resolved.
Fixed : Release in which this issue/RFE has been fixed. The release containing this fix may be available for download as an Early Access Release or a General Availability Release.

To download the current JDK release, click here.
JDK 11 JDK 13 JDK 15 JDK 17
11.0.16Fixed 13.0.10Fixed 15.0.6Fixed 17 b22Fixed
Related Reports
Relates :  
Description
Harfbuzz upgrade broke Linux x64 build on older gccs.

In file included from /shared/projects/openjdk/jdk-jdk/source/src/java.desktop/share/native/libharfbuzz/hb-ot-shape-complex-use.cc:33:0:
hb-ot-shape-complex-use-machine.rl: In instantiation of 'machine_index_t<Iter>::machine_index_t(const machine_index_t<Iter>&) [with Iter = hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, hb_filter_iter_t<hb_filter_iter_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, un
signed int>, hb_array_t<hb_glyph_info_t> >, find_syllables_use(hb_buffer_t*)::<lambda(const hb_glyph_info_t&)>, const<unnamed struct>&, 0>, find_syllables_use(hb_buffer_t*)::<lambda(hb_pair_t<unsigned int, const hb_glyph_info_t&>)>, const<unnamed struct>&, 0> >]':
hb-ot-shape-complex-use-machine.rl:249:11:   required from here    
hb-ot-shape-complex-use-machine.rl:194:9: error: base class 'struct hb_iter_with_fallback_t<machine_index_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, hb_filter_iter_t<hb_filter_iter_t<hb_zip_iter_t<hb_iota_iter_t<unsigned int, unsigned int>, hb_array_t<hb_glyp
h_info_t> >, find_syllables_use(hb_buffer_t*)::<lambda(const hb_glyph_info_t&)>, const<unnamed struct>&, 0>, find_syllables_use(hb_buffer_t*)::<lambda(hb_pair_t<unsigned int, const hb_glyph_info_t&>)>, const<unnamed struct>&, 0> > >, hb_pair_t<unsigned int, hb_pair_t<unsigned
 int, hb_glyph_info_t&> > >' should be explicitly initialized in the copy constructor [-Werror=extra]
cc1plus: error: unrecognized command line option '-Wno-class-memaccess' [-Werror]
cc1plus: all warnings being treated as errors                   
make[3]: *** [lib/Awt2dLibraries.gmk:516: /shared/projects/openjdk/jdk-jdk/output-fastdebug/support/native/java.desktop/libfontmanager/hb-ot-shape-complex-use.o] Error 1
make[3]: *** Waiting for unfinished jobs....                     
make[2]: *** [make/Main.gmk:202: java.desktop-libs] Error 2      

Comments
A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk11u-dev/pull/940 Date: 2022-03-23 09:21:52 +0000
23-03-2022

Fix request (11u) I'd like to backport this fix to jdk11u as a follow-up to JDK-8261169. This is needed to build with recent gcc versions (e.g. 7 or 8). The 13u patch applies cleanly. https://github.com/openjdk/jdk11u-dev/pull/940
23-03-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk11u-dev/pull/939 Date: 2022-03-23 09:05:12 +0000
23-03-2022

A pull request was submitted for review. URL: https://git.openjdk.java.net/jdk13u-dev/pull/307 Date: 2021-12-19 18:24:57 +0000
19-12-2021

Fix request (13u) I'd like to backport this fix to jdk13u as a follow-up to JDK-8261169. The original patch applied manually because the patched file is in another directory. RFR: https://github.com/openjdk/jdk13u-dev/pull/307
19-12-2021

Fix request (15u) request to backport to 15u. RFR: https://github.com/openjdk/jdk15u-dev/pull/149
01-12-2021

Changeset: a86ee9b3 Author: Thomas Stuefe <stuefe@openjdk.org> Date: 2021-05-06 09:22:32 +0000 URL: https://git.openjdk.java.net/jdk/commit/a86ee9b3f370b59caea2ae78169d13498560cd8e
06-05-2021

Made this P1, since Linux x64 is important and there is no easy workaround since AFAIK we do not touch the harfbuzz sources, or?
05-05-2021

https://github.com/openjdk/jdk/pull/3873
05-05-2021

Reducing the priority since I see that Oracle does not support gcc < 9 it seems :(
05-05-2021