RFR: 8312591: GCC 6 build failure after JDK-8280982

Aleksey Shipilev shade at openjdk.org
Mon Jul 24 10:29:04 UTC 2023


There is a simple build failure after [JDK-8280982](https://bugs.openjdk.org/browse/JDK-8280982) with older GCCs:


* For target support_native_java.desktop_libawt_xawt_screencast_pipewire.o:
In file included from /home/buildbot/worker/build-jdkX-debian9/build/src/java.desktop/unix/native/libpipewire/include/spa/buffer/buffer.h:12:0,
                 from /home/buildbot/worker/build-jdkX-debian9/build/src/java.desktop/unix/native/libpipewire/include/pipewire/stream.h:171,
                 from /home/buildbot/worker/build-jdkX-debian9/build/src/java.desktop/unix/native/libawt_xawt/awt/screencast_pipewire.h:36,
                 from /home/buildbot/worker/build-jdkX-debian9/build/src/java.desktop/unix/native/libawt_xawt/awt/screencast_pipewire.c:33:
/home/buildbot/worker/build-jdkX-debian9/build/src/java.desktop/unix/native/libpipewire/include/spa/utils/defs.h:61:24: error: "__clang_major__" is not defined [-Werror=undef]
 #elif __GNUC__ >= 7 || __clang_major__ >= 10
                        ^~~~~~~~~~~~~~~


There is an obvious fix for this: we need to check for `defined(__GNUC__)` explicitly before touching `__clang_major__`.

(Yes, GCC 6 is old; but we would like to make sure it builds until we run into hard to resolve build issues. This allows modern JDKs to be built in legacy enterprise environments for e.g. portable builds.)

Additional testing:
 - [x] Linux GCC 6 fastdebug build (passes with HarfBuzz warnings, to be fixed separately)

-------------

Commit messages:
 - Fix

Changes: https://git.openjdk.org/jdk/pull/14995/files
 Webrev: https://webrevs.openjdk.org/?repo=jdk&pr=14995&range=00
  Issue: https://bugs.openjdk.org/browse/JDK-8312591
  Stats: 3 lines in 1 file changed: 2 ins; 0 del; 1 mod
  Patch: https://git.openjdk.org/jdk/pull/14995.diff
  Fetch: git fetch https://git.openjdk.org/jdk.git pull/14995/head:pull/14995

PR: https://git.openjdk.org/jdk/pull/14995



More information about the client-libs-dev mailing list