[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.04 / LABELS
Labels from the report text only; not yet run
No supported category has been assigned.
Label rules and the text that matched
[]