[Bug]: ArchLinux cannot install a Dlib instance that can be accelerated by Cuda
What Operating System(s) are you seeing this problem on?
Linux (x86-64)
dlib version
19.24.2
Python version
3.11.3
Compiler
boost-1.81.0-6 cmake-3.26.4-1 gcc-13.1.1-1 archlinux
Expected Behavior
Can be installed successfully and be able to use CUDA acceleration
Current Behavior
Unable to install a Dlib instance that can be accelerated by Cuda
Steps to Reproduce
- Download the release archive, unzip it
- Install Dlib supported by Cuda Run the command python setup.py install --set USE_AVX_INSTRUCTIONS=1 --set DLIB_USE_CUDA=1
- Error
Anything else?
python setup.py install --set USE_AVX_INSTRUCTIONS=1 --set DLIB_USE_CUDA=1
running install /usr/lib/python3.11/site-packages/setuptools/_distutils/cmd.py:66: SetuptoolsDeprecationWarning: setup.py !!
********************************************************************************
Please avoid running ``setup.py`` directly.
Instead, use pypa/build, pypa/installer, pypa/build or
other standards-based tools.
See https://blog.ganssle.io/articles/2021/10/setup-py-deprecated.html for details.
********************************************************************************!! self.initialize_options() /usr/lib/python3.11/site-packages/setuptools/_distutils/cmd.py:66: EasyInstallDeprecationWarning: easy_ins !!
********************************************************************************
Please avoid running ``setup.py`` and ``easy_install``.
Instead, use pypa/build, pypa/installer, pypa/build or
other standards-based tools.
See https://github.com/pypa/setuptools/issues/917 for details.
********************************************************************************!! self.initialize_options() running bdist_egg running egg_info writing tools/python/dlib.egg-info/PKG-INFO writing dependency_links to tools/python/dlib.egg-info/dependency_links.txt writing top-level names to tools/python/dlib.egg-info/top_level.txt reading manifest file 'tools/python/dlib.egg-info/SOURCES.txt' reading manifest template 'MANIFEST.in' no previously-included directories found matching 'tools/python/build*' no previously-included directories found matching 'dlib/cmake_utils//build' warning: no previously-included files matching '*.pyc' found anywhere in distribution adding license file 'LICENSE.txt' writing manifest file 'tools/python/dlib.egg-info/SOURCES.txt' installing library code to build/bdist.linux-x86_64/egg running install_lib running build_py running build_ext Building extension for Python 3.11.3 (main, Apr 5 2023, 15:52:25) [GCC 12.2.1 20230201] Invoking CMake setup: 'cmake /home/wicks/dlib-19.24.2/tools/python -DCMAKE_LIBRARY_OUTPUT_DIRECTORY=/home/1 -DPYTHON_EXECUTABLE=/usr/bin/python -DUSE_AVX_INSTRUCTIONS=1 -DDLIB_USE_CUDA=1 -DCMAKE_BUILD_TYPE=Releas -- The C compiler identification is GNU 13.1.1 -- The CXX compiler identification is GNU 13.1.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 -- pybind11 v2.10.0 -- Found PythonInterp: /usr/bin/python (found suitable version "3.11.3", minimum required is "3.6") -- Found PythonLibs: /usr/lib/libpython3.11.so -- Performing Test HAS_FLTO -- Performing Test HAS_FLTO - Success -- Using CMake version: 3.26.4 -- Compiling dlib version: 19.24.2 -- SSE4 instructions can be executed by the host processor. -- AVX instructions can be executed by the host processor. -- Enabling AVX instructions -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Success -- Found Threads: TRUE -- Found X11: /usr/include -- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so -- Looking for XOpenDisplay in /usr/lib/libX11.so;/usr/lib/libXext.so - found -- Looking for gethostbyname -- Looking for gethostbyname - found -- Looking for connect -- Looking for connect - found -- Looking for remove -- Looking for remove - found -- Looking for shmat -- Looking for shmat - found -- Looking for IceConnectionNumber in ICE -- Looking for IceConnectionNumber in ICE - found -- Found system copy of libpng: /usr/lib/libpng.so;/usr/lib/libz.so -- Found system copy of libjpeg: /usr/lib/libjpeg.so -- Found WebP: /usr/lib/libwebp.so -- Searching for BLAS and LAPACK -- Searching for BLAS and LAPACK -- Found PkgConfig: /usr/bin/pkg-config (found version "1.8.1") -- Checking for module 'cblas' -- Found cblas, version 3.11.0 -- Checking for module 'lapack' -- Found lapack, version 3.11.0 -- Looking for cblas_ddot -- Looking for cblas_ddot - found -- Found BLAS and LAPACK via pkg-config -- Found CUDA: /opt/cuda (found suitable version "12.1", minimum required is "7.5") -- Looking for cuDNN install... -- Found cuDNN: /usr/lib/libcudnn.so -- Building a CUDA test project to see if your compiler is compatible with CUDA... -- ******************************************************************************************************* -- *** CUDA was found but your compiler failed to compile a simple CUDA program so dlib isn't going to use -- *** The output of the failed CUDA test compile is shown below: -- *** -- *** Change Dir: /home/wicks/dlib-19.24.2/build/temp.linux-x86_64-cpython-311/dlib_build/cuda_test_bui
*** Run Build Command(s):/usr/bin/cmake -E env VERBOSE=1 /usr/bin/make -f Makefile && /usr/bin/cmake cuda -B/home/wicks/dlib-19.24.2/build/temp.linux-x86_64-cpython-311/dlib_build/cuda_test_build --check-bu *** /usr/bin/cmake -E cmake_progress_start /home/wicks/dlib-19.24.2/build/temp.linux-x86_64-cpython-3/dlib-19.24.2/build/temp.linux-x86_64-cpython-311/dlib_build/cuda_test_build//CMakeFiles/progress.marks *** /usr/bin/make -f CMakeFiles/Makefile2 all *** make[1]: Entering directory '/home/wicks/dlib-19.24.2/build/temp.linux-x86_64-cpython-311/dlib_bu *** /usr/bin/make -f CMakeFiles/cuda_test.dir/build.make CMakeFiles/cuda_test.dir/depend *** make[2]: Entering directory '/home/wicks/dlib-19.24.2/build/temp.linux-x86_64-cpython-311/dlib_bu *** [ 50%] Building NVCC (Device) object CMakeFiles/cuda_test.dir/cuda_test_generated_cuda_test.cu.o *** cd /home/wicks/dlib-19.24.2/build/temp.linux-x86_64-cpython-311/dlib_build/cuda_test_build/CMakeFry /home/wicks/dlib-19.24.2/build/temp.linux-x86_64-cpython-311/dlib_build/cuda_test_build/CMakeFiles/cuda *** cd /home/wicks/dlib-19.24.2/build/temp.linux-x86_64-cpython-311/dlib_build/cuda_test_build/CMakeF=1 -D build_configuration:STRING= -D generated_file:STRING=/home/wicks/dlib-19.24.2/build/temp.linux-x86_6cuda_test.dir//./cuda_test_generated_cuda_test.cu.o -D generated_cubin_file:STRING=/home/wicks/dlib-19.24.a_test_build/CMakeFiles/cuda_test.dir//./cuda_test_generated_cuda_test.cu.o.cubin.txt -P /home/wicks/dlib-ld/cuda_test_build/CMakeFiles/cuda_test.dir//cuda_test_generated_cuda_test.cu.o.cmake *** -- Removing /home/wicks/dlib-19.24.2/build/temp.linux-x86_64-cpython-311/dlib_build/cuda_test_buiuda_test.cu.o *** /usr/bin/cmake -E rm -f /home/wicks/dlib-19.24.2/build/temp.linux-x86_64-cpython-311/dlib_build/c_generated_cuda_test.cu.o *** -- Generating dependency file: /home/wicks/dlib-19.24.2/build/temp.linux-x86_64-cpython-311/dlib__test_generated_cuda_test.cu.o.NVCC-depend *** /opt/cuda/bin/nvcc -M -D__CUDACC_ /home/wicks/dlib-19.24.2/dlib/cmake_utils/test_for_cuda/cuda_tx86_64-cpython-311/dlib_build/cuda_test_build/CMakeFiles/cuda_test.dir//cuda_test_generated_cuda_test.cu.o -arch=sm_50 -std=c++14 -D__STRICT_ANSI__ -D_MWAITXINTRIN_H_INCLUDED -D_FORCE_INLINES -DNVCC -I/opt/cuda/iest_for_cuda/../../cuda *** -- Generating temporary cmake readable file: /home/wicks/dlib-19.24.2/build/temp.linux-x86_64-cpytest.dir//cuda_test_generated_cuda_test.cu.o.depend.tmp *** /usr/bin/cmake -D input_file:FILEPATH=/home/wicks/dlib-19.24.2/build/temp.linux-x86_64-cpython-31r//cuda_test_generated_cuda_test.cu.o.NVCC-depend -D output_file:FILEPATH=/home/wicks/dlib-19.24.2/build/tild/CMakeFiles/cuda_test.dir//cuda_test_generated_cuda_test.cu.o.depend.tmp -D verbose=1 -P /usr/share/cma *** -- Copy if different /home/wicks/dlib-19.24.2/build/temp.linux-x86_64-cpython-311/dlib_build/cudarated_cuda_test.cu.o.depend.tmp to /home/wicks/dlib-19.24.2/build/temp.linux-x86_64-cpython-311/dlib_build_generated_cuda_test.cu.o.depend *** /usr/bin/cmake -E copy_if_different /home/wicks/dlib-19.24.2/build/temp.linux-x86_64-cpython-311//cuda_test_generated_cuda_test.cu.o.depend.tmp /home/wicks/dlib-19.24.2/build/temp.linux-x86_64-cpython-31r//cuda_test_generated_cuda_test.cu.o.depend *** -- Removing /home/wicks/dlib-19.24.2/build/temp.linux-x86_64-cpython-311/dlib_build/cuda_test_buia_test.cu.o.depend.tmp and /home/wicks/dlib-19.24.2/build/temp.linux-x86_64-cpython-311/dlib_build/cuda_teed_cuda_test.cu.o.NVCC-depend *** /usr/bin/cmake -E rm -f /home/wicks/dlib-19.24.2/build/temp.linux-x86_64-cpython-311/dlib_build/cenerated_cuda_test.cu.o.depend.tmp /home/wicks/dlib-19.24.2/build/temp.linux-x86_64-cpython-311/dlib_build_generated_cuda_test.cu.o.NVCC-depend *** -- Generating /home/wicks/dlib-19.24.2/build/temp.linux-x86_64-cpython-311/dlib_build/cuda_test_b_cuda_test.cu.o *** /opt/cuda/bin/nvcc /home/wicks/dlib-19.24.2/dlib/cmake_utils/test_for_cuda/cuda_test.cu -c -o /hon-311/dlib_build/cuda_test_build/CMakeFiles/cuda_test.dir//./cuda_test_generated_cuda_test.cu.o -ccbin /us -D__STRICT_ANSI__ -D_MWAITXINTRIN_H_INCLUDED -D_FORCE_INLINES -DNVCC -I/opt/cuda/include -I/home/wicks/dl *** /usr/include/stdlib.h(141): error: identifier "_Float32" is undefined *** extern _Float32 strtof32 (const char *__restrict __nptr, *** ^
*** /usr/include/stdlib.h(147): error: identifier "_Float64" is undefined *** extern _Float64 strtof64 (const char *__restrict __nptr, *** ^
*** /usr/include/stdlib.h(153): error: identifier "_Float128" is undefined *** extern _Float128 strtof128 (const char *__restrict __nptr, *** ^
*** /usr/include/stdlib.h(159): error: identifier "_Float32x" is undefined *** extern _Float32x strtof32x (const char *__restrict __nptr, *** ^
*** /usr/include/stdlib.h(165): error: identifier "_Float64x" is undefined *** extern _Float64x strtof64x (const char *__restrict __nptr, *** ^
*** /usr/include/stdlib.h(234): error: identifier "_Float32" is undefined *** _Float32 __f) *** ^
*** /usr/include/stdlib.h(240): error: identifier "_Float64" is undefined *** _Float64 __f) *** ^
*** /usr/include/stdlib.h(246): error: identifier "_Float128" is undefined *** _Float128 __f) *** ^
*** /usr/include/stdlib.h(252): error: identifier "_Float32x" is undefined *** _Float32x __f) *** ^
*** /usr/include/stdlib.h(258): error: identifier "_Float64x" is undefined *** _Float64x __f) *** ^
*** /usr/include/stdlib.h(317): error: identifier "_Float32" is undefined *** extern _Float32 strtof32_l (const char *__restrict __nptr, *** ^
*** /usr/include/stdlib.h(324): error: identifier "_Float64" is undefined *** extern _Float64 strtof64_l (const char *__restrict __nptr, *** ^
*** /usr/include/stdlib.h(331): error: identifier "_Float128" is undefined *** extern _Float128 strtof128_l (const char *__restrict __nptr, *** ^
*** /usr/include/stdlib.h(338): error: identifier "_Float32x" is undefined *** extern _Float32x strtof32x_l (const char *__restrict __nptr, *** ^
*** /usr/include/stdlib.h(345): error: identifier "_Float64x" is undefined *** extern _Float64x strtof64x_l (const char *__restrict __nptr, *** ^
*** /usr/include/bits/mathcalls.h(53): error: identifier "_Float32" is undefined *** extern _Float32 acosf32 (_Float32 __x) noexcept (true); extern _Float32 __acosf32 (_Float32 __ *** ^
*** /usr/include/bits/mathcalls.h(53): error: identifier "_Float32" is undefined *** extern _Float32 acosf32 (_Float32 __x) noexcept (true); extern _Float32 __acosf32 (_Float32 __ *** ^
*** /usr/include/bits/mathcalls.h(53): error: identifier "_Float32" is undefined *** extern _Float32 acosf32 (_Float32 __x) noexcept (true); extern _Float32 __acosf32 (_Float32 __ *** ^
*** /usr/include/bits/mathcalls.h(53): error: identifier "_Float32" is undefined *** extern _Float32 acosf32 (_Float32 __x) noexcept (true); extern _Float32 __acosf32 (_Float32 __ *** ^
*** /usr/include/bits/mathcalls.h(55): error: identifier "_Float32" is undefined *** extern _Float32 asinf32 (_Float32 __x) noexcept (true); extern _Float32 __asinf32 (_Float32 __ *** ^
*** /usr/include/bits/mathcalls.h(55): error: identifier "_Float32" is undefined *** extern _Float32 asinf32 (_Float32 __x) noexcept (true); extern _Float32 __asinf32 (_Float32 __ *** ^
*** /usr/include/bits/mathcalls.h(55): error: identifier "_Float32" is undefined *** extern _Float32 asinf32 (_Float32 __x) noexcept (true); extern _Float32 __asinf32 (_Float32 __ *** ^
*** /usr/include/bits/mathcalls.h(55): error: identifier "_Float32" is undefined *** extern _Float32 asinf32 (_Float32 __x) noexcept (true); extern _Float32 __asinf32 (_Float32 __ *** ^
*** /usr/include/bits/mathcalls.h(57): error: identifier "_Float32" is undefined *** extern _Float32 atanf32 (_Float32 __x) noexcept (true); extern _Float32 __atanf32 (_Float32 __ *** ^
*** /usr/include/bits/mathcalls.h(57): error: identifier "_Float32" is undefined *** extern _Float32 atanf32 (_Float32 __x) noexcept (true); extern _Float32 __atanf32 (_Float32 __ *** ^
*** /usr/include/bits/mathcalls.h(57): error: identifier "_Float32" is undefined *** extern _Float32 atanf32 (_Float32 __x) noexcept (true); extern _Float32 __atanf32 (_Float32 __ *** ^
*** /usr/include/bits/mathcalls.h(57): error: identifier "_Float32" is undefined *** extern _Float32 atanf32 (_Float32 __x) noexcept (true); extern _Float32 __atanf32 (_Float32 __ *** ^
*** /usr/include/bits/mathcalls.h(59): error: identifier "_Float32" is undefined *** extern _Float32 atan2f32 (_Float32 __y, _Float32 __x) noexcept (true); extern _Float32 __atan2 *** ^
*** /usr/include/bits/mathcalls.h(59): error: identifier "_Float32" is undefined *** extern _Float32 atan2f32 (_Float32 __y, _Float32 __x) noexcept (true); extern _Float32 __atan2 *** ^
*** /usr/include/bits/mathcalls.h(59): error: identifier "_Float32" is undefined *** extern _Float32 atan2f32 (_Float32 __y, _Float32 __x) noexcept (true); extern _Float32 __atan2 *** ^
*** /usr/include/bits/mathcalls.h(59): error: identifier "_Float32" is undefined *** extern _Float32 atan2f32 (_Float32 __y, _Float32 __x) noexcept (true); extern _Float32 __atan2 *** ^
*** /usr/include/bits/mathcalls.h(59): error: identifier "_Float32" is undefined *** extern _Float32 atan2f32 (_Float32 __y, _Float32 __x) noexcept (true); extern _Float32 __atan2
*** /usr/include/bits/mathcalls.h(59): error: identifier "_Float32" is undefined *** extern _Float32 atan2f32 (_Float32 __y, _Float32 __x) noexcept (true); extern _Float32 __atan2
*** /usr/include/bits/mathcalls.h(62): error: identifier "_Float32" is undefined *** extern _Float32 cosf32 (_Float32 __x) noexcept (true); extern _Float32 __cosf32 (_Float32 __x) *** ^
*** /usr/include/bits/mathcalls.h(62): error: identifier "_Float32" is undefined *** extern _Float32 cosf32 (_Float32 __x) noexcept (true); extern _Float32 __cosf32 (_Float32 __x) *** ^
*** /usr/include/bits/mathcalls.h(62): error: identifier "_Float32" is undefined *** extern _Float32 cosf32 (_Float32 __x) noexcept (true); extern _Float32 __cosf32 (_Float32 __x) *** ^
*** /usr/include/bits/mathcalls.h(62): error: identifier "_Float32" is undefined *** extern _Float32 cosf32 (_Float32 __x) noexcept (true); extern _Float32 __cosf32 (_Float32 __x) *** ^
*** /usr/include/bits/mathcalls.h(64): error: identifier "_Float32" is undefined *** extern _Float32 sinf32 (_Float32 __x) noexcept (true); extern _Float32 __sinf32 (_Float32 __x) *** ^
*** /usr/include/bits/mathcalls.h(64): error: identifier "_Float32" is undefined *** extern _Float32 sinf32 (_Float32 __x) noexcept (true); extern _Float32 __sinf32 (_Float32 __x) *** ^
*** /usr/include/bits/mathcalls.h(64): error: identifier "_Float32" is undefined *** extern _Float32 sinf32 (_Float32 __x) noexcept (true); extern _Float32 __sinf32 (_Float32 __x) *** ^
*** /usr/include/bits/mathcalls.h(64): error: identifier "_Float32" is undefined *** extern _Float32 sinf32 (_Float32 __x) noexcept (true); extern _Float32 __sinf32 (_Float32 __x) *** ^
*** /usr/include/bits/mathcalls.h(66): error: identifier "_Float32" is undefined *** extern _Float32 tanf32 (_Float32 __x) noexcept (true); extern _Float32 __tanf32 (_Float32 __x) *** ^
*** /usr/include/bits/mathcalls.h(66): error: identifier "_Float32" is undefined *** extern _Float32 tanf32 (_Float32 __x) noexcept (true); extern _Float32 __tanf32 (_Float32 __x) *** ^
*** /usr/include/bits/mathcalls.h(66): error: identifier "_Float32" is undefined *** extern _Float32 tanf32 (_Float32 __x) noexcept (true); extern _Float32 __tanf32 (_Float32 __x) *** ^
*** /usr/include/bits/mathcalls.h(66): error: iden
Source: davisking/dlib