Skip to content

[GSD-12551] FTBFS with gcc 16 #908

@P3p111n0

Description

@P3p111n0

Pre-submission Checklist

  • I have searched existing issues and discussions for similar questions
  • I have checked the documentation and FAQ / programmers-guide

Question Category

Build / Compilation

Other Category

No response

Question

Fails to build with GCC 16 on openSUSE Tumbleweed:

[   24s] /home/abuild/rpmbuild/BUILD/intel-opencl-26.09.37435.1-build/compute-runtime-26.09.37435.1/shared/source/compiler_interface/igc_platform_helper.cpp: In function ‘bool NEO::initializeIgcDeviceContext(IgcOclDeviceCtxTag*, const HardwareInfo&, const CompilerProductHelper*)’:
[   24s] /home/abuild/rpmbuild/BUILD/intel-opencl-26.09.37435.1-build/compute-runtime-26.09.37435.1/shared/source/compiler_interface/igc_platform_helper.cpp:50:17: error: invalid use of incomplete type ‘struct IGC::IgcFeaturesAndWorkarounds<4>’
[   24s]    50 |         igcFtrWa->SetFtrGpGpuMidThreadLevelPreempt(compilerProductHelper->isMidThreadPreemptionSupported(hwInfo));
[   24s]       |                 ^~
[   24s] In file included from /usr/include/igc/ocl_igc_interface/igc_features_and_workarounds.h:14,
[   24s]                  from /usr/include/igc/ocl_igc_interface/igc_ocl_device_ctx.h:16,
[   24s]                  from /home/abuild/rpmbuild/BUILD/intel-opencl-26.09.37435.1-build/compute-runtime-26.09.37435.1/shared/source/compiler_interface/definitions/igc_interface.h:10,
[   24s]                  from /home/abuild/rpmbuild/BUILD/intel-opencl-26.09.37435.1-build/compute-runtime-26.09.37435.1/shared/source/compiler_interface/igc_platform_helper.h:9,
[   24s]                  from /home/abuild/rpmbuild/BUILD/intel-opencl-26.09.37435.1-build/compute-runtime-26.09.37435.1/shared/source/compiler_interface/igc_platform_helper.cpp:8:
[   24s] /usr/include/igc/ocl_igc_interface/igc_features_and_workarounds.h:24:23: note: declaration of ‘struct IGC::IgcFeaturesAndWorkarounds<4>’
[   24s]    24 | CIF_DECLARE_INTERFACE(IgcFeaturesAndWorkarounds, "IGC_FE_WA")
[   24s]       |                       ^~~~~~~~~~~~~~~~~~~~~~~~~
[   24s] /usr/include/igc/cif/cif/macros/enable.h:25:66: note: in definition of macro ‘CIF_DECLARE_INTERFACE’
[   24s]    25 |   template <CIF::Version_t version = CIF::InvalidVersion> struct NAME;                                                 \
[   24s]       |                                                                  ^~~~
[   24s] /home/abuild/rpmbuild/BUILD/intel-opencl-26.09.37435.1-build/compute-runtime-26.09.37435.1/shared/source/compiler_interface/igc_platform_helper.cpp:52:13: error: invalid use of incomplete type ‘struct IGC::IgcFeaturesAndWorkarounds<4>’
[   24s]    52 |     igcFtrWa->SetFtrWddm2Svm(hwInfo.featureTable.flags.ftrWddm2Svm);
[   24s]       |             ^~
[   24s] /usr/include/igc/ocl_igc_interface/igc_features_and_workarounds.h:24:23: note: declaration of ‘struct IGC::IgcFeaturesAndWorkarounds<4>’
[   24s]    24 | CIF_DECLARE_INTERFACE(IgcFeaturesAndWorkarounds, "IGC_FE_WA")
[   24s]       |                       ^~~~~~~~~~~~~~~~~~~~~~~~~
[   24s] /usr/include/igc/cif/cif/macros/enable.h:25:66: note: in definition of macro ‘CIF_DECLARE_INTERFACE’
[   24s]    25 |   template <CIF::Version_t version = CIF::InvalidVersion> struct NAME;                                                 \
[   24s]       |                                                                  ^~~~
[   24s] /home/abuild/rpmbuild/BUILD/intel-opencl-26.09.37435.1-build/compute-runtime-26.09.37435.1/shared/source/compiler_interface/igc_platform_helper.cpp:53:13: error: invalid use of incomplete type ‘struct IGC::IgcFeaturesAndWorkarounds<4>’
[   24s]    53 |     igcFtrWa->SetFtrPooledEuEnabled(hwInfo.featureTable.flags.ftrPooledEuEnabled);
[   24s]       |             ^~
[   24s] /usr/include/igc/ocl_igc_interface/igc_features_and_workarounds.h:24:23: note: declaration of ‘struct IGC::IgcFeaturesAndWorkarounds<4>’
[   24s]    24 | CIF_DECLARE_INTERFACE(IgcFeaturesAndWorkarounds, "IGC_FE_WA")
[   24s]       |                       ^~~~~~~~~~~~~~~~~~~~~~~~~
[   24s] /usr/include/igc/cif/cif/macros/enable.h:25:66: note: in definition of macro ‘CIF_DECLARE_INTERFACE’
[   24s]    25 |   template <CIF::Version_t version = CIF::InvalidVersion> struct NAME;                                                 \
[   24s]       |                                                                  ^~~~
[   24s] /home/abuild/rpmbuild/BUILD/intel-opencl-26.09.37435.1-build/compute-runtime-26.09.37435.1/shared/source/compiler_interface/igc_platform_helper.cpp:54:13: error: invalid use of incomplete type ‘struct IGC::IgcFeaturesAndWorkarounds<4>’
[   24s]    54 |     igcFtrWa->SetFtrEfficient64BitAddressing(hwInfo.featureTable.flags.ftrHeaplessMode);
[   24s]       |             ^~
[   24s] /usr/include/igc/ocl_igc_interface/igc_features_and_workarounds.h:24:23: note: declaration of ‘struct IGC::IgcFeaturesAndWorkarounds<4>’
[   24s]    24 | CIF_DECLARE_INTERFACE(IgcFeaturesAndWorkarounds, "IGC_FE_WA")
[   24s]       |                       ^~~~~~~~~~~~~~~~~~~~~~~~~
[   24s] /usr/include/igc/cif/cif/macros/enable.h:25:66: note: in definition of macro ‘CIF_DECLARE_INTERFACE’
[   24s]    25 |   template <CIF::Version_t version = CIF::InvalidVersion> struct NAME;                                                 \
[   24s]       |                                                                  ^~~~
[   24s] /usr/include/igc/ocl_igc_interface/igc_ocl_device_ctx.h: In instantiation of ‘CIF::RAII::UPtr_t<T> IGC::IgcOclDeviceCtx<1>::GetIgcFeaturesAndWorkaroundsHandle() [with IgcFeaturesAndWorkaroundsInterface = IGC::IgcFeaturesAndWorkarounds<4>; CIF::RAII::UPtr_t<T> = std::unique_ptr<IGC::IgcFeaturesAndWorkarounds<4>, CIF::RAII::ReleaseHelper<IGC::IgcFeaturesAndWorkarounds<4> > >]’:
[   24s] /home/abuild/rpmbuild/BUILD/intel-opencl-26.09.37435.1-build/compute-runtime-26.09.37435.1/shared/source/compiler_interface/igc_platform_helper.cpp:40:104:   required from here
[   24s]    40 |     auto igcFtrWa = igcDeviceCtx->GetIgcFeaturesAndWorkaroundsHandle<NEO::IgcFeaturesAndWorkaroundsTag>();
[   24s]       |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
[   24s] /usr/include/igc/ocl_igc_interface/igc_ocl_device_ctx.h:50:94: error: incomplete type ‘IGC::IgcFeaturesAndWorkarounds<4>’ used in nested name specifier
[   24s]    50 |         GetIgcFeaturesAndWorkaroundsHandleImpl(IgcFeaturesAndWorkaroundsInterface::GetVersion()));
[   24s]       |                                                ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
[   24s] In file included from /usr/include/igc/ocl_igc_interface/fcl_ocl_device_ctx.h:12,
[   24s]                  from /home/abuild/rpmbuild/BUILD/intel-opencl-26.09.37435.1-build/compute-runtime-26.09.37435.1/shared/source/compiler_interface/definitions/igc_interface.h:9:
[   24s] /usr/include/igc/cif/cif/common/cif.h: In instantiation of ‘void CIF::RAII::ReleaseHelper<T>::operator()(T*) const [with T = IGC::IgcFeaturesAndWorkarounds<4>]’:
[   24s] /usr/include/c++/16/bits/unique_ptr.h:398:17:   required from ‘std::unique_ptr<_Tp, _Dp>::~unique_ptr() [with _Tp = IGC::IgcFeaturesAndWorkarounds<4>; _Dp = CIF::RAII::ReleaseHelper<IGC::IgcFeaturesAndWorkarounds<4> >]’
[   24s]   398 |           get_deleter()(std::move(__ptr));
[   24s]       |           ~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~
[   24s] /home/abuild/rpmbuild/BUILD/intel-opencl-26.09.37435.1-build/compute-runtime-26.09.37435.1/shared/source/compiler_interface/igc_platform_helper.cpp:40:104:   required from here
[   24s]    40 |     auto igcFtrWa = igcDeviceCtx->GetIgcFeaturesAndWorkaroundsHandle<NEO::IgcFeaturesAndWorkaroundsTag>();
[   24s]       |                     ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~
[   24s] /usr/include/igc/cif/cif/common/cif.h:29:13: error: invalid use of incomplete type ‘struct IGC::IgcFeaturesAndWorkarounds<4>’
[   24s]    29 |     handle->Release();
[   24s]       |     ~~~~~~~~^~~~~~~
[   24s] /usr/include/igc/ocl_igc_interface/igc_features_and_workarounds.h:24:23: note: declaration of ‘struct IGC::IgcFeaturesAndWorkarounds<4>’
[   24s]    24 | CIF_DECLARE_INTERFACE(IgcFeaturesAndWorkarounds, "IGC_FE_WA")
[   24s]       |                       ^~~~~~~~~~~~~~~~~~~~~~~~~
[   24s] /usr/include/igc/cif/cif/macros/enable.h:25:66: note: in definition of macro ‘CIF_DECLARE_INTERFACE’
[   24s]    25 |   template <CIF::Version_t version = CIF::InvalidVersion> struct NAME;                                                 \
[   24s]       |                                                                  ^~~~

Full build log: https://build.opensuse.org/public/build/home:rguenther:plgrnd/openSUSE_Factory/x86_64/intel-opencl/_log

If you don't have access to gcc 16, I can test patches for you.

Additional Notes

No response

Metadata

Metadata

Assignees

No one assigned

    Labels

    OS: LinuxIssue specific to Linux distributions (Ubuntu, Fedora, RHEL, etc.)Status: MergedFix has been merged to the master branch but has not yet appeared in an official releaseStatus: Needs FeedbackWaiting for additional information from reporter

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions