← All tasks
cppopenvinotoolkit/openvino #37320Not a task: not reproduced

[Bug]: Build fails if TBBROOT contains a /usr path segment

envgap__openvinotoolkit__openvino-37320

01 / FAILURE SIGNATURE

As reported upstream

/tmp/root/usr/include/tbb/../oneapi/tbb/detail/_config.h:90:7: error: '__GLIBCPP__' is not defined, evaluates to '0' [-Werror=undef]
Not a benchmark task.
  • In a clean container the reported failure did not reproduce, or the known fix did not make the project run.

02 / ENVIRONMENT RECIPE

Base commit
183e33df7a6e4d5a4327144a01862e10a362caa5
Manifest
CMakeLists.txt
Reproduce
Awaiting issue-specific recipe
Run under trace
Awaiting a meaningful runtime command

03 / ORIGINAL ISSUE TEXT

openvinotoolkit/openvino #37320 · read the original issue
### OpenVINO Version

Master Branch

### Operating System

Other (Please specify in description)

### Device used for inference

CPU

### Framework

None

### Model used

_No response_

### Issue description

This piece of code is causing obscure build failures: https://github.com/openvinotoolkit/openvino/blob/0f453eb8dca021e7176cdcc8570242c9f2fec7c5/cmake/developer_package/compile_flags/functions.cmake#L418-L455

If you build oneTBB from source like so:
```
prefix=/tmp/root/usr

rm -rf $prefix build && mkdir -p $prefix build

cmake -S . -B build -G Ninja -C CMakeCache.txt -D CMAKE_INSTALL_PREFIX=$prefix
ninja -C build
ninja -C build install

rm -r $prefix/share
```
and then try to build and link the OpenVINO runtime against it:
```
prefix=/tmp/root/usr

rm -rf build && mkdir build

export TBBROOT=$prefix

cmake -S . -B build -G Ninja -C CMakeCache.txt -D CMAKE_INSTALL_PREFIX=$prefix
ninja -C build
ninja -C build install
```
the whole build will fail due to a combination of `-Werror`, undefined variables coming from oneTBB's _config.h and the fact that preprocessor warnings aren't suppressed unless you're adding include directories via `-isystem` rather than `-I` :
```
/tmp/root/usr/include/tbb/../oneapi/tbb/detail/_config.h:90:7: error: '__GLIBCPP__' is not defined, evaluates to '0' [-Werror=undef]
   90 | #elif __GLIBCPP__ || __GLIBCXX__
      |       ^~~~~~~~~~~
```

Changing `prefix` to `/tmp/root` or any other path that does not enter the non-`SYSTEM` branch from the link above fixes the issue. See the compiler log for the difference between the two.

### Step-by-step reproduction

_No response_

### Relevant log output

```shell
ccache /usr/bin/c++ -DCL_TARGET_OPENCL_VERSION=300
                    -DDNNL_DLL
                    -DDNNL_DLL_EXPORTS
                    -DDNNL_ENABLE_CPU_ISA_HINTS
                    -DDNNL_ENABLE_MAX_CPU_ISA
                    -DDNNL_X64=1
                    -DENABLE_CM_FOR_GPU
                    -DENABLE_ONEDNN_FOR_GPU
                    -DENABLE_PROFILING_ITT
                    -DENABLE_PROFILING_ITT_BASE
                    -DIN_OV_COMPONENT
                    -DNGEN_CONFIG
                    -DOV_BUILD_POSTFIX=\"\"
                    -DOV_GPU_OPENCL_HPP_HAS_BUS_INFO
                    -DOV_GPU_OPENCL_HPP_HAS_UUID
                    -DOV_GPU_USE_OPENCL_HPP
                    -DOV_GPU_WITH_OCL_RT=1
                    -DOV_NATIVE_PARENT_PROJECT_ROOT_DIR=\"openvino\"
                    -DOV_THREAD=OV_THREAD_TBB_ADAPTIVE
                    -D_GLIBCXX_USE_CXX11_ABI=1
                    -I/home/user/src/openvino/src/plugins/intel_gpu/src
                    -I/home/user/src/openvino/src/plugins/intel_gpu/include
                    -I/home/user/src/openvino/src/plugins/intel_gpu/src/graph
                    -I/home/user/src/openvino/src/plugins/intel_gpu/src/graph/include
                    -I/home/user/src/openvino/src/plugins/intel_gpu/src/graph/impls
                    -I/home/user/src/openvino/src/core/shape_inference/include
                    -I/home/user/src/openvino/src/core/include
                    -I/home/user/src/openvino/src/core/dev_api
                    -I/home/user/src/openvino/src/frontends/common/include
                    -I/home/user/src/openvino/src/common/transformations/include
                    -I/home/user/src/openvino/src/common/low_precision_transformations/include
                    -I/home/user/src/openvino/src/common/itt/include
                    -I/home/user/src/openvino/src/common/util/include
                    -I/home/user/src/openvino/thirdparty/pugixml/src
                    -I/home/user/src/openvino/src/common/shutdown/include
                    -I/home/user/src/openvino/thirdparty/ittapi/ittapi/src/ittnotify
                    -I/home/user/src/openvino/thirdparty/ittapi/ittapi/include
                    -I/home/user/src/openvino/src/plugins/intel_gpu/src/kernel_selector
                    -I/home/user/src/openvino/src/plugins/intel_gpu/src/kernel_selector/kernels
                    -I/home/user/src/openvino/build/src/plugins/intel_gpu/src/kernel_selector/codegen/include
                    -I/home/user/src/openvino/src/inference/include
                    -I/home/user/src/openvino/src/frontends/onnx/frontend/include
                    -I/home/user/src/openvino/src/frontends/paddle/include
                    -I/home/user/src/openvino/src/frontends/pytorch/include
                    -I/home/user/src/openvino/src/frontends/tensorflow/include
                    -I/home/user/src/openvino/src/frontends/tensorflow_lite/include
                    -I/home/user/src/openvino/src/plugins/intel_gpu/src/runtime
                    -I/home/user/src/openvino/src/inference/dev_api
                    -I/home/user/src/openvino/thirdparty/ocl/cl_headers
                    -I/home/user/src/openvino/thirdparty/ocl/clhpp_headers/include
                    -I/home/user/src/openvino/src/core/reference/include
                    -isystem /tmp/root/include
                    -isystem /home/user/src/openvino/thirdparty/xbyak
                    -isystem /home/user/src/openvino/build/src/plugins/intel_gpu/thirdparty/onednn_gpu_install/include
                    -isystem /home/user/src/openvino/src/plugins/intel_gpu/thirdparty/onednn_gpu/src
                    -isystem /home/user/src/openvino/src/plugins/intel_gpu/thirdparty/onednn_gpu/src/gpu/intel/jit/ngen
                    -isystem /home/user/src/openvino/src/plugins/intel_gpu/thirdparty/onednn_gpu/src/gpu/intel/jit/config
                    -isystem /home/user/src/openvino/src/plugins/intel_gpu/thirdparty/onednn_gpu/src/gpu/intel/gemm/jit/include
                    -isystem /home/user/src/openvino/src/plugins/intel_gpu/thirdparty/onednn_gpu/third_party/ngen
                    -Wsuggest-override
                    -O3
                    -march=znver3
                    -ftree-vectorize
                    -floop-nest-optimize
                    -fipa-pta
                    -fsigned-char
                    -ffunction-sections
                    -fdata-sections
                    -fdiagnostics-show-option
                    -Wall
                    -Wignored-qualifiers
                    -Wundef
                    -Wmissing-declarations
                    -Wno-strict-aliasing
                    -Werror
                    -O3
                    -DNDEBUG
                    -Wformat
                    -Wformat-security
                    -D_FORTIFY_SOURCE=2
                    -fno-strict-overflow
                    -fno-delete-null-pointer-checks
                    -fwrapv
                    -fstack-protector-strong
                    -ffile-prefix-map=/home/user/src/openvino/=
                    -ffile-prefix-map=..//=
                    -std=c++17
                    -flto=auto
                    -fno-fat-lto-objects
                    -fPIC
                    -fvisibility=hidden
                    -fvisibility-inlines-hidden
                    -Os
                    -Wno-suggest-override
                    -MD
                    -MT src/plugins/intel_gpu/src/graph/CMakeFiles/openvino_intel_gpu_graph.dir/moe_3gemm_fused.cpp.o
                    -MF src/plugins/intel_gpu/src/graph/CMakeFiles/openvino_intel_gpu_graph.dir/moe_3gemm_fused.cpp.o.d
                    -o src/plugins/intel_gpu/src/graph/CMakeFiles/openvino_intel_gpu_graph.dir/moe_3gemm_fused.cpp.o
                    -c /home/user/src/openvino/src/plugins/intel_gpu/src/graph/moe_3gemm_fused.cpp

ccache /usr/bin/c++ -DCL_TARGET_OPENCL_VERSION=300
                    -DDNNL_DLL
                    -DDNNL_DLL_EXPORTS
                    -DDNNL_ENABLE_CPU_ISA_HINTS
                    -DDNNL_ENABLE_MAX_CPU_ISA
                    -DDNNL_X64=1
                    -DENABLE_CM_FOR_GPU
                    -DENABLE_ONEDNN_FOR_GPU
                    -DENABLE_PROFILING_ITT
                    -DENABLE_PROFILING_ITT_BASE
                    -DIN_OV_COMPONENT
                    -DNGEN_CONFIG
                    -DOV_BUILD_POSTFIX=\"\"
                    -DOV_GPU_OPENCL_HPP_HAS_BUS_INFO
                    -DOV_GPU_OPENCL_HPP_HAS_UUID
                    -DOV_GPU_USE_OPENCL_HPP
                    -DOV_GPU_WITH_OCL_RT=1
                    -DOV_NATIVE_PARENT_PROJECT_ROOT_DIR=\"openvino\"
                    -DOV_THREAD=OV_THREAD_TBB_ADAPTIVE
                    -D_GLIBCXX_USE_CXX11_ABI=1
                    -I/home/user/src/openvino/src/plugins/intel_gpu/src
                    -I/home/user/src/openvino/src/plugins/intel_gpu/include
                    -I/home/user/src/openvino/src/plugins/intel_gpu/src/graph
                    -I/home/user/src/openvino/src/plugins/intel_gpu/src/graph/include
                    -I/home/user/src/openvino/src/plugins/intel_gpu/src/graph/impls
                    -I/home/user/src/openvino/src/core/shape_inference/include
                    -I/home/user/src/openvino/src/core/include
                    -I/home/user/src/openvino/src/core/dev_api
                    -I/home/user/src/openvino/src/frontends/common/include
                    -I/home/user/src/openvino/src/common/transformations/include
                    -I/home/user/src/openvino/src/common/low_precision_transformations/include
                    -I/home/user/src/openvino/src/common/itt/include
                    -I/home/user/src/openvino/src/common/util/include
                    -I/home/user/src/openvino/thirdparty/pugixml/src
                    -I/home/user/src/openvino/src/common/shutdown/include
                    -I/home/user/src/openvino/thirdparty/ittapi/ittapi/src/ittnotify
                    -I/home/user/src/openvino/thirdparty/ittapi/ittapi/include
                    -I/home/user/src/openvino/src/plugins/intel_gpu/src/kernel_selector
                    -I/home/user/src/openvino/src/plugins/intel_gpu/src/kernel_selector/kernels
                    -I/home/user/src/openvino/build/src/plugins/intel_gpu/src/kernel_selector/codegen/include
                    -I/home/user/src/openvino/src/inference/include
                    -I/home/user/src/openvino/src/frontends/onnx/frontend/include
                    -I/home/user/src/openvino/src/frontends/paddle/include
                    -I/home/user/src/openvino/src/frontends/pytorch/include
                    -I/home/user/src/openvino/src/frontends/tensorflow/include
                    -I/home/user/src/openvino/src/frontends/tensorflow_lite/include
                    -I/home/user/src/openvino/src/plugins/intel_gpu/src/runtime
                    -I/home/user/src/openvino/src/inference/dev_api
                    -I/tmp/root/usr/include
                    -I/home/user/src/openvino/thirdparty/ocl/cl_headers
                    -I/home/user/src/openvino/thirdparty/ocl/clhpp_headers/include
                    -I/home/user/src/openvino/src/core/reference/include
                    -isystem /home/user/src/openvino/thirdparty/xbyak
                    -isystem /home/user/src/openvino/build/src/plugins/intel_gpu/thirdparty/onednn_gpu_install/include
                    -isystem /home/user/src/openvino/src/plugins/intel_gpu/thirdparty/onednn_gpu/src
                    -isystem /home/user/src/openvino/src/plugins/intel_gpu/thirdparty/onednn_gpu/src/gpu/intel/jit/ngen
                    -isystem /home/user/src/openvino/src/plugins/intel_gpu/thirdparty/onednn_gpu/src/gpu/intel/jit/config
                    -isystem /home/user/src/openvino/src/plugins/intel_gpu/thirdparty/onednn_gpu/src/gpu/intel/gemm/jit/include
                    -isystem /home/user/src/openvino/src/plugins/intel_gpu/thirdparty/onednn_gpu/third_party/ngen
                    -Wsuggest-override
                    -O3
                    -march=znver3
                    -ftree-vectorize
                    -floop-nest-optimize
                    -fipa-pta
                    -fsigned-char
                    -ffunction-sections
                    -fdata-sections
                    -fdiagnostics-show-option
                    -Wall
                    -Wignored-qualifiers
                    -Wundef
                    -Wmissing-declarations
                    -Wno-strict-aliasing
                    -Werror
                    -O3
                    -DNDEBUG
                    -Wformat
                    -Wformat-security
                    -D_FORTIFY_SOURCE=2
                    -fno-strict-overflow
                    -fno-delete-null-pointer-checks
                    -fwrapv
                    -fstack-protector-strong
                    -ffile-prefix-map=/home/user/src/openvino/=
                    -ffile-prefix-map=..//=
                    -std=c++17
                    -flto=auto
                    -fno-fat-lto-objects
                    -fPIC
                    -fvisibility=hidden
                    -fvisibility-inlines-hidden
                    -Os
                    -Wno-suggest-override
                    -MD
                    -MT src/plugins/intel_gpu/src/graph/CMakeFiles/openvino_intel_gpu_graph.dir/moe_3gemm_fused.cpp.o
                    -MF src/plugins/intel_gpu/src/graph/CMakeFiles/openvino_intel_gpu_graph.dir/moe_3gemm_fused.cpp.o.d
                    -o src/plugins/intel_gpu/src/graph/CMakeFiles/openvino_intel_gpu_graph.dir/moe_3gemm_fused.cpp.o
                    -c /home/user/src/openvino/src/plugins/intel_gpu/src/graph/moe_3gemm_fused.cpp
```

### Issue submission checklist

- [x] I'm reporting an issue. It's not a question.
- [x] I checked the problem with the documentation, FAQ, open issues, Stack Overflow, etc., and have not found a solution.
- [x] There is reproducer code and related data files such as images, videos, models, etc.
Continue on GitHub ↗

04 / LABELS

Labels from the report text only; not yet run

No supported category has been assigned.

Label rules and the text that matched
[]