[Build] 3.9.0 fails to build: get_filename_component called with incorrect number of arguments
svenstaro opened this issue · comments
Description
In a clean environment, I'm running this:
cmake \
-GNinja \
-Bbuild \
-DUSE_CPU_MKL=ON \
-DGOOGLETEST_VERSION=1.9.0 \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=/usr/lib \
-DAF_WITH_IMAGEIO=ON \
-DAF_BUILD_CPU=ON \
-DAF_BUILD_OPENCL=ON \
-DAF_WITH_NONFREE=ON \
-DAF_BUILD_EXAMPLES=ON \
-DAF_BUILD_DOCS=ON \
-DCUDA_architecture_build_targets="5.2;5.3;6.0;6.1;6.2;7.0;7.2;7.5;8.0;8.6;8.7;8.9;9.0;9.0+PTX" \
-DCMAKE_BUILD_TYPE=None \
-DCUDA_HOST_COMPILER=/opt/cuda/bin/gcc \
-DBoost_NO_BOOST_CMAKE=ON
ninja -C build
Error Log
-- The C compiler identification is GNU 13.2.1
-- The CXX compiler identification is GNU 13.2.1
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/cc - skipped
-- Detecting C compile features
-- Detecting C compile features - done
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Check for working CXX compiler: /usr/bin/c++ - skipped
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Performing Test has_cxx_fast_math
-- Performing Test has_cxx_fast_math - Success
-- Performing Test has_cxx_fp_model
-- Performing Test has_cxx_fp_model - Failed
-- Performing Test has_cxx_no_errno_math
-- Performing Test has_cxx_no_errno_math - Failed
-- Performing Test has_cxx_no_trapping_math
-- Performing Test has_cxx_no_trapping_math - Success
-- Performing Test has_cxx_no_signed_zeros
-- Performing Test has_cxx_no_signed_zeros - Success
-- Performing Test has_cxx_no_ieee_fp
-- Performing Test has_cxx_no_ieee_fp - Success
-- Performing Test has_cxx_unqualified_std_cast_call
-- Performing Test has_cxx_unqualified_std_cast_call - Success
-- Performing Test has_cxx_error_reorder_ctor
-- Performing Test has_cxx_error_reorder_ctor - Failed
-- Performing Test has_cxx_debug-disables-optimization
-- Performing Test has_cxx_debug-disables-optimization - Failed
fatal: not a git repository (or any of the parent directories): .git
-- No git. Setting hash to default
CMake Warning (dev) at CMakeLists.txt:64 (find_package):
Policy CMP0146 is not set: The FindCUDA module is removed. Run "cmake
--help-policy CMP0146" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.
This warning is for project developers. Use -Wno-dev to suppress it.
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD
-- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success
-- Found Threads: TRUE
-- Found CUDA: /opt/cuda (found suitable version "12.2", minimum required is "10.2")
-- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1")
CMake Warning (dev) at CMakeModules/FindcuDNN.cmake:88 (find_package):
Policy CMP0146 is not set: The FindCUDA module is removed. Run "cmake
--help-policy CMP0146" for policy details. Use the cmake_policy command to
set the policy and suppress this warning.
Call Stack (most recent call first):
CMakeLists.txt:65 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Found cuDNN: /usr/lib/libcudnn.so.8 (found suitable version "8.9", minimum required is "4.0")
-- Looking for CL_VERSION_3_0
-- Looking for CL_VERSION_3_0 - found
-- Found OpenCL: /usr/lib/libOpenCL.so (found suitable version "3.0", minimum required is "1.2")
-- Found OpenGL: /usr/lib/libGL.so
-- Found FreeImage: /usr/include
-- Checking for module 'fftw3'
-- Found fftw3, version 3.3.10
-- Found FFTW: /usr/include
-- Checking for module 'cblas'
-- Found cblas, version 3.11.0
-- Found CBLAS: /usr/lib/libcblas.so
-- Found LAPACKE: /usr/lib/liblapacke.so
-- Found Doxygen: /usr/bin/doxygen (found version "1.9.8") found components: doxygen dot
-- Check size of int
-- Check size of int - done
-- MKL: Thread Layer(Intel OpenMP) Interface(4-byte Integer)
-- Found MKL_Shared: /opt/intel/mkl/include (found version "2023.0.2")
-- Found MKL_Static: /opt/intel/mkl/include (found version "2023.0.2")
-- Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY)
-- Found Boost: /usr/include (found suitable version "1.81.0", minimum required is "1.70")
-- MKL_DPCPP_ARCH: None, set to ` intel64` by default
-- MKL_ARCH: None, set to ` intel64` by default
-- MKL_DPCPP_LINK: None, set to ` dynamic` by default
-- MKL_LINK: None, set to ` dynamic` by default
-- MKL_DPCPP_INTERFACE_FULL: intel_ilp64
-- MKL_INTERFACE_FULL: intel_ilp64
-- MKL_DPCPP_THREADING: tbb_thread
-- MKL_THREADING: tbb_thread
-- Found MKL: /opt/intel/oneapi/mkl/latest (Required is at least version "2023.1")
-- Found MKL: /opt/intel/oneapi/mkl/latest/lib/intel64/libmkl_intel_ilp64.so (Required is at least version "2023.1")
-- Found MKL: /opt/intel/oneapi/mkl/latest/lib/intel64/libmkl_tbb_thread.so (Required is at least version "2023.1")
-- Found MKL: /opt/intel/oneapi/mkl/latest/lib/intel64/libmkl_core.so (Required is at least version "2023.1")
-- Found MKL: /opt/intel/oneapi/mkl/latest/lib/intel64/libmkl_sycl.so (Required is at least version "2023.1")
CMake Error at /opt/intel/oneapi/mkl/latest/lib/cmake/mkl/MKLConfig.cmake:766 (get_filename_component):
get_filename_component called with incorrect number of arguments
Call Stack (most recent call first):
CMakeLists.txt:144 (find_package)
Build Environment
Compiler version: 13.2.1
Operating system: Arch Linux
Build environment:
blas-3.11.0-2 default-cursors-2-1 dnssec-anchors-20190629-3
fontconfig-2:2.14.2-1 freeglut-3.4.0-1 freetype2-2.13.2-1
giflib-5.2.1-2 glbinding-3.3.0-1 glu-9.0.3-1
graphite-1:1.3.14-3 harfbuzz-8.1.1-1 hwloc-2.9.1-1
imath-3.1.9-1 intel-oneapi-common-2023.2.0-1
intel-oneapi-compiler-dpcpp-cpp-runtime-2023.2.0-1
intel-oneapi-compiler-dpcpp-cpp-runtime-libs-2023.2.0-1
intel-oneapi-compiler-shared-runtime-2023.2.0-1
intel-oneapi-compiler-shared-runtime-libs-2023.2.0-1
intel-oneapi-openmp-2023.2.0-1 intel-oneapi-tbb-2021.10.0-1
jasper-4.0.0-1 jxrlib-0.2.4-2 lapack-3.11.0-2 lcms2-2.15-1
ldns-1.8.3-2 level-zero-loader-1.11.0-1 libdrm-2.4.116-1
libedit-20221030_3.1-1 libglvnd-1.6.0-1 libjpeg-turbo-3.0.0-1
libnl-3.8.0-1 libomxil-bellagio-0.9.3-4 libpciaccess-0.17-1
libpng-1.6.40-2 libraw-0.21.1-2 libtiff-4.5.1-1
libunwind-1.6.2-2 libwebp-1.3.1-1 libx11-1.8.6-1
libxau-1.0.11-2 libxcb-1.16-1 libxdamage-1.1.6-1
libxdmcp-1.1.4-2 libxext-1.3.5-1 libxfixes-6.0.1-1
libxi-1.8.1-1 libxkbcommon-1.5.0-1 libxrandr-1.5.3-1
libxrender-0.9.11-1 libxshmfence-1.3.2-1 libxxf86vm-1.1.5-1
llvm-libs-16.0.6-1 lm_sensors-1:3.6.0.r41.g31d1f125-2
mesa-1:23.1.6-4 openexr-3.1.11-1 openjpeg2-2.5.0-2
openmpi-4.1.5-3 openpmix-4.2.5-1 openssh-9.4p1-2
vulkan-icd-loader-1.3.255-1 wayland-1.22.0-1 xcb-proto-1.16.0-1
xkeyboard-config-2.39-1 xorgproto-2023.2-1 cblas-3.11.0-2
fftw-3.3.10-4 forge-2:1.0.8-1 freeimage-3.18.0-20 glew-2.2.0-6
glfw-wayland-3.3.8-1 intel-oneapi-mkl-2023.2.0_49495-1
lapacke-3.11.0-2 onetbb-2021.10.0-1
CMake variables:
cmake \
-GNinja \
-Bbuild \
-DUSE_CPU_MKL=ON \
-DGOOGLETEST_VERSION=1.9.0 \
-DCMAKE_INSTALL_PREFIX=/usr \
-DCMAKE_INSTALL_LIBDIR=/usr/lib \
-DAF_WITH_IMAGEIO=ON \
-DAF_BUILD_CPU=ON \
-DAF_BUILD_OPENCL=ON \
-DAF_WITH_NONFREE=ON \
-DAF_BUILD_EXAMPLES=ON \
-DAF_BUILD_DOCS=ON \
-DCUDA_architecture_build_targets="5.2;5.3;6.0;6.1;6.2;7.0;7.2;7.5;8.0;8.6;8.7;8.9;9.0;9.0+PTX" \
-DCMAKE_BUILD_TYPE=None \
-DCUDA_HOST_COMPILER=/opt/cuda/bin/gcc \
-DBoost_NO_BOOST_CMAKE=ON
Looks like this is a problem with the MKLConfig in the MKL install. From looking at the file its having trouble finding TBB but it looks like you have those packages installed on your system. I have the same configuration and I am not running into this issue. Can you figure out why TBB is not being found on your system?
Also I noticed you are building for 5.3, 6.2, 7.2 and 8.7. These compute capabilities are only part of the ARM based Jetson devices which I don't think Arch linux is targeting. I suggest you remove those to reduce compile times and binary sizes.
Hi svenstaro,
I had the same problem as you when building the library. The package that you are missing is: intel-oneapi-tbb-devel
.
Turned out it was a packaging problem in the intel-oneapi-tbb
package in Arch Linux. I fixed it and now we're looking good.