arrayfire / arrayfire

ArrayFire: a general purpose GPU library.

Home Page:https://arrayfire.com

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

[Build] glibc 2.38 breaks everything

BrosnanYuen opened this issue · comments

Using glibc 2.38 seems to break everything

Description

Upgrading from glibc 2.34 to glibc 2.38 seems to breaks everything

Error Log

[ 60%] Built target test_nearest_neighbour_unified
[ 60%] Building CXX object test/CMakeFiles/test_orb_cpu.dir/orb.cpp.o
[ 60%] Linking CXX executable cuda_cuda
/usr/bin/ld: ../lib/libgtest.so.1.12.1: undefined reference to std::ios_base_library_init()@GLIBCXX_3.4.32' collect2: error: ld returned 1 exit status make[2]: *** [test/CMakeFiles/test_cuda_cuda.dir/build.make:103: test/cuda_cuda] Error 1 make[1]: *** [CMakeFiles/Makefile2:13096: test/CMakeFiles/test_cuda_cuda.dir/all] Error 2 make[1]: *** Waiting for unfinished jobs.... [ 60%] Building CXX object src/backend/opencl/CMakeFiles/afopencl.dir/__/__/api/c/print.cpp.o [ 60%] Linking CXX executable cuda_unified [ 60%] Linking CXX executable nearest_neighbour_cuda /usr/bin/ld: ../src/api/unified/libaf.so.3.9.0: undefined reference to std::ios_base_library_init()@GLIBCXX_3.4.32'
collect2: error: ld returned 1 exit status
make[2]: *** [test/CMakeFiles/test_cuda_unified.dir/build.make:103: test/cuda_unified] Error 1
make[1]: *** [CMakeFiles/Makefile2:13125: test/CMakeFiles/test_cuda_unified.dir/all] Error 2
[ 60%] Building CXX object src/backend/opencl/CMakeFiles/afopencl.dir///api/c/qr.cpp.o
[ 60%] Built target test_nearest_neighbour_cuda
[ 60%] Building CXX object src/backend/opencl/CMakeFiles/afopencl.dir///api/c/random.cpp.o
[ 60%] Linking CXX executable orb_cpu
[ 60%] Built target test_orb_cpu
[ 60%] Building CXX object src/backend/opencl/CMakeFiles/afopencl.dir///api/c/rank.cpp.o
[ 60%] Building CXX object src/backend/opencl/CMakeFiles/afopencl.dir///api/c/reduce.cpp.o
[ 60%] Building CXX object src/backend/op

Build Environment

-- 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
CMake Warning (dev) at CMakeLists.txt:60 (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:61 (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
-- Found CBLAS: /usr/lib/libopenblas.so
-- Found LAPACKE: /usr/lib/libopenblas.so
-- Found Doxygen: /usr/bin/doxygen (found version "1.9.7") found components: doxygen dot
-- Check size of int
-- Check size of int - done
-- MKL: Thread Layer(Intel OpenMP) Interface(4-byte Integer)
-- Could NOT find MKL: Source the compilervars.sh or mklvars.sh scripts included with your installation of MKL. This script searches for the libraries in MKLROOT, LIBRARY_PATHS(Linux), and LIB(Windows) environment variables (missing: MKL_INCLUDE_DIR MKL_Core_LINK_LIBRARY MKL_Interface_LINK_LIBRARY MKL_ThreadLayer_LINK_LIBRARY)
-- Could NOT find MKL: Source the compilervars.sh or mklvars.sh scripts included with your installation of MKL. This script searches for the libraries in MKLROOT, LIBRARY_PATHS(Linux), and LIB(Windows) environment variables (missing: MKL_INCLUDE_DIR MKL_Core_STATIC_LINK_LIBRARY MKL_Interface_STATIC_LINK_LIBRARY MKL_ThreadLayer_STATIC_LINK_LIBRARY)
-- Could NOT find GTest (missing: GTEST_LIBRARY GTEST_INCLUDE_DIR GTEST_MAIN_LIBRARY)
-- Found Boost: /usr/lib/cmake/Boost-1.81.0/BoostConfig.cmake (found suitable version "1.81.0", minimum required is "1.70")
CMake Warning at CMakeLists.txt:137 (find_package):
By not providing "FindMKL.cmake" in CMAKE_MODULE_PATH this project has
asked CMake to find a package configuration file provided by "MKL", but
CMake did not find one.

Could not find a package configuration file provided by "MKL" (requested
version 2023.1) with any of the following names:

MKLConfig.cmake                                                                            
mkl-config.cmake                                                                           

Add the installation prefix of "MKL" to CMAKE_PREFIX_PATH or set "MKL_DIR"
to a directory containing one of the above files. If "MKL" provides a
separate development package or SDK, be sure it has been installed.

-- Looking for a CUDA compiler
-- Looking for a CUDA compiler - /opt/cuda/bin/nvcc
-- The CUDA compiler identification is NVIDIA 12.2.91
-- Detecting CUDA compiler ABI info
-- Detecting CUDA compiler ABI info - done
-- Check for working CUDA compiler: /opt/cuda/bin/nvcc - skipped
-- Detecting CUDA compile features
-- Detecting CUDA compile features - done
-- Looking for sgemm_
-- Looking for sgemm_ - not found
-- Looking for sgemm_
-- Looking for sgemm_ - found
-- Found BLAS: /usr/lib/libopenblas.so
-- Looking for cheev_
-- Looking for cheev_ - found
-- Found LAPACK: /usr/lib/libopenblas.so;-lm;-ldl
-- Project 'span_lite', package 'span-lite' version: '0.10.2'
-- Autodetected CUDA architecture(s): 8.6
-- Found OpenCL: /usr/lib/libOpenCL.so (found version "3.0")
-- UNICODE feature disabled on linux
-- 64bit build - FIND_LIBRARY_USE_LIB64_PATHS TRUE
-- Found Boost: /usr/lib/cmake/Boost-1.81.0/BoostConfig.cmake (found suitable version "1.81.0", minimum required is "1.33.0") found components: program_options
-- Boost_PROGRAM_OPTIONS_LIBRARY: Boost::program_options
-- Found OpenCL: /lib/libOpenCL.so
-- Found FFTW: /lib/libfftw3f.so;/lib/libfftw3.so
-- Detected GNU fortran compiler.
-- CMAKE_CXX_COMPILER flags: -m64 -pthread
-- CMAKE_CXX_COMPILER debug flags: -g
-- CMAKE_CXX_COMPILER release flags: -O3 -DNDEBUG
-- CMAKE_CXX_COMPILER relwithdebinfo flags: -O2 -g -DNDEBUG
-- CMAKE_EXE_LINKER link flags:
FFT clients will NOT be built
GoogleTest unit tests will NOT be built
FFT callback client will NOT be built
-- Performing Test has_ignored_attributes_flag
-- Performing Test has_ignored_attributes_flag - Success
-- Found OpenCL: /usr/lib/libOpenCL.so (found version "3.0")
-- Performing Test group_flags
-- Performing Test group_flags - Success
-- Performing Test has_all_warnings_flag
-- Performing Test has_all_warnings_flag - Success
-- Found Python: /usr/bin/python3.11 (found version "3.11.3") found components: Interpreter
-- Autodetected CUDA architecture(s): 8.6
-- Performing Test pthread_flag
-- Performing Test pthread_flag - Success
CMake Deprecation Warning at examples/CMakeLists.txt:8 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at examples/benchmarks/CMakeLists.txt:8 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at examples/computer_vision/CMakeLists.txt:8 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at examples/financial/CMakeLists.txt:8 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at examples/getting_started/CMakeLists.txt:8 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at examples/graphics/CMakeLists.txt:8 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at examples/helloworld/CMakeLists.txt:8 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at examples/image_processing/CMakeLists.txt:8 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at examples/lin_algebra/CMakeLists.txt:8 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at examples/machine_learning/CMakeLists.txt:8 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at examples/pde/CMakeLists.txt:8 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

CMake Deprecation Warning at examples/unified/CMakeLists.txt:8 (cmake_minimum_required):
Compatibility with CMake < 3.5 will be removed from a future version of
CMake.

Update the VERSION argument value or use a ... suffix to tell
CMake that the project does not need compatibility with older versions.

-- Configuring done (121.1s)
-- Generating done (1.0s)
-- Build files have been written to: /opt/download/arrayfire/build

Can you try to build from a new build directory. It could be that some of the libraries are referencing an older glibc which is incompatible or missing.