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

Phil Race prr at openjdk.org
Wed Jul 26 23:09:49 UTC 2023


On Mon, 24 Jul 2023 10:21:52 GMT, Aleksey Shipilev <shade at openjdk.org> wrote:

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

Comment in the gitlab bug
"this error is unrelated to the compiler version, it is rather caused by the -Werror=undef flag."

So maybe we should ignore that, if possible just on the old tool chain ?

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

PR Comment: https://git.openjdk.org/jdk/pull/14995#issuecomment-1652661833



More information about the client-libs-dev mailing list