arrayfire icon indicating copy to clipboard operation
arrayfire copied to clipboard

[Build] glibc 2.38 breaks everything

Open BrosnanYuen opened this issue 2 years ago • 1 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

BrosnanYuen avatar Aug 11 '23 04:08 BrosnanYuen

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.

umar456 avatar Aug 16 '23 17:08 umar456

Try to remove the build folder and regenerate the build files with CMake. It's likely what umar suggested. Closing this issue as it seems unrelated to ArrayFire. Reopen it if you are still getting the issue with building ArrayFire.

edwinsolisf avatar Jun 13 '24 17:06 edwinsolisf