Build of armnn 26.01 fails with openCL enabled on openSUSE Tumbleweed (both aarch64 and x86_64)
Error log:
[ 45s] [ 1%] Building CXX object src/backends/aclCommon/CMakeFiles/armnnAclCommon.dir/ArmComputeTensorUtils.cpp.o
[ 45s] cd /home/abuild/rpmbuild/BUILD/armnn-opencl-26.01-build/armnn-26.01/build/src/backends/aclCommon && /usr/bin/c++ -DARMCOMPUTECL_ENABLED -DARMCOMPUTENEON_ENABLED -DARMNNREF_ENABLED -DDYNAMIC_BACKEND_BUILD_DIR=\"/home/abuild/rpmbuild/BUILD/armnn-opencl-26.01-build/armnn-26.01/build\" -I/home/abuild/rpmbuild/BUILD/armnn-opencl-26.01-build/armnn-26.01/include -I/home/abuild/rpmbuild/BUILD/armnn-opencl-26.01-build/armnn-26.01/profiling -I/home/abuild/rpmbuild/BUILD/armnn-opencl-26.01-build/armnn-26.01/src/armnn -I/home/abuild/rpmbuild/BUILD/armnn-opencl-26.01-build/armnn-26.01/src/armnnUtils -I/home/abuild/rpmbuild/BUILD/armnn-opencl-26.01-build/armnn-26.01/src/backends -I/home/abuild/rpmbuild/BUILD/armnn-opencl-26.01-build/armnn-26.01/src/profiling -I/home/abuild/rpmbuild/BUILD/armnn-opencl-26.01-build/armnn-26.01/profiling/common/include -I/home/abuild/rpmbuild/BUILD/armnn-opencl-26.01-build/armnn-26.01/profiling/client/include -isystem /home/abuild/rpmbuild/BUILD/armnn-opencl-26.01-build/armnn-26.01/third-party -isystem /usr/include/half -mbranch-protection=standard -O2 -Wall -U_FORTIFY_SOURCE -D_FORTIFY_SOURCE=3 -fstack-protector-strong -funwind-tables -fasynchronous-unwind-tables -fstack-clash-protection -Werror=return-type -g -pthread -Wno-error=unused-result -std=c++17 -Wall -Wextra -Werror -Wold-style-cast -Wno-missing-braces -Wconversion -Wsign-conversion -Wno-psabi -O2 -g -std=gnu++17 -fPIC -MD -MT src/backends/aclCommon/CMakeFiles/armnnAclCommon.dir/ArmComputeTensorUtils.cpp.o -MF CMakeFiles/armnnAclCommon.dir/ArmComputeTensorUtils.cpp.o.d -o CMakeFiles/armnnAclCommon.dir/ArmComputeTensorUtils.cpp.o -c /home/abuild/rpmbuild/BUILD/armnn-opencl-26.01-build/armnn-26.01/src/backends/aclCommon/ArmComputeTensorUtils.cpp
[ 45s] In file included from /usr/include/arm_compute/core/CL/ICLArray.h:31,
[ 45s] from /usr/include/arm_compute/core/CL/CLTypes.h:31,
[ 45s] from /usr/include/arm_compute/core/CL/ICLTensor.h:31,
[ 45s] from /usr/include/arm_compute/runtime/CL/CLTensor.h:31,
[ 45s] from /usr/include/arm_compute/runtime/CL/functions/CLReductionOperation.h:31,
[ 45s] from /home/abuild/rpmbuild/BUILD/armnn-opencl-26.01-build/armnn-26.01/src/backends/cl/workloads/ClReduceWorkload.hpp:10,
[ 45s] from /home/abuild/rpmbuild/BUILD/armnn-opencl-26.01-build/armnn-26.01/src/backends/aclCommon/ArmComputeUtils.hpp:22,
[ 45s] from /home/abuild/rpmbuild/BUILD/armnn-opencl-26.01-build/armnn-26.01/src/backends/aclCommon/ArmComputeTensorUtils.cpp:8:
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:149:5: error: ‘clCreateCommandBufferKHR’ was not declared in this scope; did you mean ‘clCreateCommandQueue_ptr’?
[ 45s] 149 | DECLARE_FUNCTION_PTR(clCreateCommandBufferKHR);
[ 45s] | ^~~~~~~~~~~~~~~~~~~~
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:149:5: error: ‘clCreateCommandBufferKHR’ was not declared in this scope; did you mean ‘clCreateCommandQueue_ptr’?
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:149:5: error: template argument 1 is invalid
[ 45s] 149 | DECLARE_FUNCTION_PTR(clCreateCommandBufferKHR);
[ 45s] | ^~~~~~~~~~~~~~~~~~~~
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:150:5: error: ‘clRetainCommandBufferKHR’ was not declared in this scope; did you mean ‘clRetainCommandQueue_ptr’?
[ 45s] 150 | DECLARE_FUNCTION_PTR(clRetainCommandBufferKHR);
[ 45s] | ^~~~~~~~~~~~~~~~~~~~
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:150:5: error: ‘clRetainCommandBufferKHR’ was not declared in this scope; did you mean ‘clRetainCommandQueue_ptr’?
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:150:5: error: template argument 1 is invalid
[ 45s] 150 | DECLARE_FUNCTION_PTR(clRetainCommandBufferKHR);
[ 45s] | ^~~~~~~~~~~~~~~~~~~~
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:151:5: error: ‘clReleaseCommandBufferKHR’ was not declared in this scope; did you mean ‘clReleaseCommandQueue_ptr’?
[ 45s] 151 | DECLARE_FUNCTION_PTR(clReleaseCommandBufferKHR);
[ 45s] | ^~~~~~~~~~~~~~~~~~~~
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:151:5: error: ‘clReleaseCommandBufferKHR’ was not declared in this scope; did you mean ‘clReleaseCommandQueue_ptr’?
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:151:5: error: template argument 1 is invalid
[ 45s] 151 | DECLARE_FUNCTION_PTR(clReleaseCommandBufferKHR);
[ 45s] | ^~~~~~~~~~~~~~~~~~~~
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:152:5: error: ‘clFinalizeCommandBufferKHR’ was not declared in this scope; did you mean ‘clRetainCommandBufferKHR_ptr’?
[ 45s] 152 | DECLARE_FUNCTION_PTR(clFinalizeCommandBufferKHR);
[ 45s] | ^~~~~~~~~~~~~~~~~~~~
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:152:5: error: ‘clFinalizeCommandBufferKHR’ was not declared in this scope; did you mean ‘clRetainCommandBufferKHR_ptr’?
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:152:5: error: template argument 1 is invalid
[ 45s] 152 | DECLARE_FUNCTION_PTR(clFinalizeCommandBufferKHR);
[ 45s] | ^~~~~~~~~~~~~~~~~~~~
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:153:5: error: ‘clEnqueueCommandBufferKHR’ was not declared in this scope; did you mean ‘clEnqueueReadBuffer’?
[ 45s] 153 | DECLARE_FUNCTION_PTR(clEnqueueCommandBufferKHR);
[ 45s] | ^~~~~~~~~~~~~~~~~~~~
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:153:5: error: ‘clEnqueueCommandBufferKHR’ was not declared in this scope; did you mean ‘clEnqueueReadBuffer’?
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:153:5: error: template argument 1 is invalid
[ 45s] 153 | DECLARE_FUNCTION_PTR(clEnqueueCommandBufferKHR);
[ 45s] | ^~~~~~~~~~~~~~~~~~~~
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:154:5: error: ‘clCommandNDRangeKernelKHR’ was not declared in this scope
[ 45s] 154 | DECLARE_FUNCTION_PTR(clCommandNDRangeKernelKHR);
[ 45s] | ^~~~~~~~~~~~~~~~~~~~
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:154:5: error: ‘clCommandNDRangeKernelKHR’ was not declared in this scope
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:154:5: error: template argument 1 is invalid
[ 45s] 154 | DECLARE_FUNCTION_PTR(clCommandNDRangeKernelKHR);
[ 45s] | ^~~~~~~~~~~~~~~~~~~~
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:156:5: error: ‘clUpdateMutableCommandsKHR’ was not declared in this scope
[ 45s] 156 | DECLARE_FUNCTION_PTR(clUpdateMutableCommandsKHR);
[ 45s] | ^~~~~~~~~~~~~~~~~~~~
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:156:5: error: ‘clUpdateMutableCommandsKHR’ was not declared in this scope
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:156:5: error: template argument 1 is invalid
[ 45s] 156 | DECLARE_FUNCTION_PTR(clUpdateMutableCommandsKHR);
[ 45s] | ^~~~~~~~~~~~~~~~~~~~
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:149:5: error: cannot convert ‘std::nullptr_t’ to ‘int’ in initialization
[ 45s] 149 | DECLARE_FUNCTION_PTR(clCreateCommandBufferKHR);
[ 45s] | ^~~~~~~~~~~~~~~~~~~~
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:150:5: error: cannot convert ‘std::nullptr_t’ to ‘int’ in initialization
[ 45s] 150 | DECLARE_FUNCTION_PTR(clRetainCommandBufferKHR);
[ 45s] | ^~~~~~~~~~~~~~~~~~~~
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:151:5: error: cannot convert ‘std::nullptr_t’ to ‘int’ in initialization
[ 45s] 151 | DECLARE_FUNCTION_PTR(clReleaseCommandBufferKHR);
[ 45s] | ^~~~~~~~~~~~~~~~~~~~
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:152:5: error: cannot convert ‘std::nullptr_t’ to ‘int’ in initialization
[ 45s] 152 | DECLARE_FUNCTION_PTR(clFinalizeCommandBufferKHR);
[ 45s] | ^~~~~~~~~~~~~~~~~~~~
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:153:5: error: cannot convert ‘std::nullptr_t’ to ‘int’ in initialization
[ 45s] 153 | DECLARE_FUNCTION_PTR(clEnqueueCommandBufferKHR);
[ 45s] | ^~~~~~~~~~~~~~~~~~~~
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:154:5: error: cannot convert ‘std::nullptr_t’ to ‘int’ in initialization
[ 45s] 154 | DECLARE_FUNCTION_PTR(clCommandNDRangeKernelKHR);
[ 45s] | ^~~~~~~~~~~~~~~~~~~~
[ 45s] /usr/include/arm_compute/core/CL/OpenCL.h:156:5: error: cannot convert ‘std::nullptr_t’ to ‘int’ in initialization
[ 45s] 156 | DECLARE_FUNCTION_PTR(clUpdateMutableCommandsKHR);
[ 45s] | ^~~~~~~~~~~~~~~~~~~~
[ 45s] make[2]: *** [src/backends/aclCommon/CMakeFiles/armnnAclCommon.dir/build.make:82: src/backends/aclCommon/CMakeFiles/armnnAclCommon.dir/ArmComputeTensorUtils.cpp.o] Error 1
[ 45s] make[2]: Leaving directory '/home/abuild/rpmbuild/BUILD/armnn-opencl-26.01-build/armnn-26.01/build'
[ 45s] make[1]: *** [CMakeFiles/Makefile2:1176: src/backends/aclCommon/CMakeFiles/armnnAclCommon.dir/all] Error 2
Build of armnn 26.01 fails with openCL enabled on openSUSE Tumbleweed (both aarch64 and x86_64)
Error log:
ComputeLibrary 53.1.0
openCL headers 2026.05.29
opencl-cpp-headers 2025.07.22