[ 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] | ^~~~
If you don't have access to gcc 16, I can test patches for you.
Pre-submission Checklist
Question Category
Build / Compilation
Other Category
No response
Question
Fails to build with GCC 16 on openSUSE Tumbleweed:
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