RFR: 8312591: GCC 6 build failure after JDK-8280982 [v2]

Aleksey Shipilev shade at openjdk.org
Thu Jul 27 19:07:51 UTC 2023


On Thu, 27 Jul 2023 19:01:35 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)
>
> Aleksey Shipilev has updated the pull request incrementally with one additional commit since the last revision:
> 
>   Disable the warnings instead

Yeah, we can just ignore the warnings. See new commit. I don't see a clean way to disable this only for specific GCC versions, and other warnings seem to be added without version checks too. I checked it still builds fine on GCC 6.

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

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



More information about the client-libs-dev mailing list