davisking / dlib

A toolkit for making real world machine learning and data analysis applications in C++

Home Page:http://dlib.net

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

Installation fails to test CUDA program

losoliveirasilva opened this issue · comments

I'm trying to compile dlib with CUDA. I suspect my problem is the combination of the versions.

Basically, I cloned this repository and followed readme instructions:

mkdir build; cd build; cmake .. -DUSE_AVX_INSTRUCTIONS=1; cmake --build .

I tried a few dlib recent versions (master, v19.24 and v19.22), but the error was always the same.

Current Behavior

This is the output of the command above:

-- The C compiler identification is GNU 12.1.0
-- The CXX compiler identification is GNU 12.1.0
-- 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
-- Using CMake version: 3.23.1
-- Compiling dlib version: 19.24.99
-- Enabling AVX instructions
-- Looking for pthread.h
-- Looking for pthread.h - found
-- 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.0") 
-- Checking for module 'cblas'
--   Found cblas, version 3.10.1
-- Checking for module 'lapack'
--   Found lapack, version 3.10.1
-- Looking for cblas_ddot
-- Looking for cblas_ddot - found
-- Found BLAS and LAPACK via pkg-config
-- Found CUDA: /opt/cuda (found suitable version "11.6", 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 CUDA. 
-- *** The output of the failed CUDA test compile is shown below: 
-- *** 
-- ***   Change Dir: /home/los/dlib/build/dlib/cuda_test_build
   ***   
   ***   Run Build Command(s):/usr/bin/make -f Makefile && [ 50%] Building NVCC (Device) object CMakeFiles/cuda_test.dir/cuda_test_generated_cuda_test.cu.o
   ***   /usr/include/c++/12.1.0/bits/locale_facets_nonio.tcc: In member function ‘_InIter std::__cxx11::time_get<_CharT, _InIter>::get(iter_type, iter_type, std::ios_base&, std::ios_base::iostate&, tm*, const char_type*, const char_type*) const’:
   ***   /usr/include/c++/12.1.0/bits/locale_facets_nonio.tcc:1477:77: error: invalid type argument of unary ‘*’ (have ‘int’)
   ***    1477 |       if ((void*)(this->*(&time_get::do_get)) == (void*)(&time_get::do_get))
   ***         |                                                                             ^   
   ***   CMake Error at cuda_test_generated_cuda_test.cu.o.cmake:276 (message):
   ***     Error generating file
   ***     /home/los/dlib/build/dlib/cuda_test_build/CMakeFiles/cuda_test.dir//./cuda_test_generated_cuda_test.cu.o
   ***   
   ***   
   ***   make[2]: *** [CMakeFiles/cuda_test.dir/build.make:77: CMakeFiles/cuda_test.dir/cuda_test_generated_cuda_test.cu.o] Error 1
   ***   make[1]: *** [CMakeFiles/Makefile2:82: CMakeFiles/cuda_test.dir/all] Error 2
   ***   make: *** [Makefile:91: all] Error 2
   ***   
   ***   
-- *****************************************************************************************************************
-- Disabling CUDA support for dlib.  DLIB WILL NOT USE CUDA
-- C++11 activated.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/los/dlib/build
[  1%] Building CXX object dlib/CMakeFiles/dlib.dir/base64/base64_kernel_1.cpp.o
[  3%] Building CXX object dlib/CMakeFiles/dlib.dir/bigint/bigint_kernel_1.cpp.o
[  4%] Building CXX object dlib/CMakeFiles/dlib.dir/bigint/bigint_kernel_2.cpp.o
[  6%] Building CXX object dlib/CMakeFiles/dlib.dir/bit_stream/bit_stream_kernel_1.cpp.o
[  8%] Building CXX object dlib/CMakeFiles/dlib.dir/entropy_decoder/entropy_decoder_kernel_1.cpp.o
[  9%] Building CXX object dlib/CMakeFiles/dlib.dir/entropy_decoder/entropy_decoder_kernel_2.cpp.o
[ 11%] Building CXX object dlib/CMakeFiles/dlib.dir/entropy_encoder/entropy_encoder_kernel_1.cpp.o
[ 12%] Building CXX object dlib/CMakeFiles/dlib.dir/entropy_encoder/entropy_encoder_kernel_2.cpp.o
[ 14%] Building CXX object dlib/CMakeFiles/dlib.dir/md5/md5_kernel_1.cpp.o
[ 16%] Building CXX object dlib/CMakeFiles/dlib.dir/tokenizer/tokenizer_kernel_1.cpp.o
[ 17%] Building CXX object dlib/CMakeFiles/dlib.dir/unicode/unicode.cpp.o
[ 19%] Building CXX object dlib/CMakeFiles/dlib.dir/test_for_odr_violations.cpp.o
[ 20%] Building CXX object dlib/CMakeFiles/dlib.dir/sockets/sockets_kernel_1.cpp.o
[ 22%] Building CXX object dlib/CMakeFiles/dlib.dir/bsp/bsp.cpp.o
[ 24%] Building CXX object dlib/CMakeFiles/dlib.dir/dir_nav/dir_nav_kernel_1.cpp.o
[ 25%] Building CXX object dlib/CMakeFiles/dlib.dir/dir_nav/dir_nav_kernel_2.cpp.o
[ 27%] Building CXX object dlib/CMakeFiles/dlib.dir/dir_nav/dir_nav_extensions.cpp.o
[ 29%] Building CXX object dlib/CMakeFiles/dlib.dir/gui_widgets/fonts.cpp.o
[ 30%] Building CXX object dlib/CMakeFiles/dlib.dir/linker/linker_kernel_1.cpp.o
[ 32%] Building CXX object dlib/CMakeFiles/dlib.dir/logger/extra_logger_headers.cpp.o
[ 33%] Building CXX object dlib/CMakeFiles/dlib.dir/logger/logger_kernel_1.cpp.o
[ 35%] Building CXX object dlib/CMakeFiles/dlib.dir/logger/logger_config_file.cpp.o
[ 37%] Building CXX object dlib/CMakeFiles/dlib.dir/misc_api/misc_api_kernel_1.cpp.o
[ 38%] Building CXX object dlib/CMakeFiles/dlib.dir/misc_api/misc_api_kernel_2.cpp.o
[ 40%] Building CXX object dlib/CMakeFiles/dlib.dir/sockets/sockets_extensions.cpp.o
[ 41%] Building CXX object dlib/CMakeFiles/dlib.dir/sockets/sockets_kernel_2.cpp.o
[ 43%] Building CXX object dlib/CMakeFiles/dlib.dir/sockstreambuf/sockstreambuf.cpp.o
[ 45%] Building CXX object dlib/CMakeFiles/dlib.dir/sockstreambuf/sockstreambuf_unbuffered.cpp.o
[ 46%] Building CXX object dlib/CMakeFiles/dlib.dir/server/server_kernel.cpp.o
[ 48%] Building CXX object dlib/CMakeFiles/dlib.dir/server/server_iostream.cpp.o
[ 50%] Building CXX object dlib/CMakeFiles/dlib.dir/server/server_http.cpp.o
[ 51%] Building CXX object dlib/CMakeFiles/dlib.dir/threads/multithreaded_object_extension.cpp.o
[ 53%] Building CXX object dlib/CMakeFiles/dlib.dir/threads/threaded_object_extension.cpp.o
[ 54%] Building CXX object dlib/CMakeFiles/dlib.dir/threads/threads_kernel_1.cpp.o
[ 56%] Building CXX object dlib/CMakeFiles/dlib.dir/threads/threads_kernel_2.cpp.o
[ 58%] Building CXX object dlib/CMakeFiles/dlib.dir/threads/threads_kernel_shared.cpp.o
[ 59%] Building CXX object dlib/CMakeFiles/dlib.dir/threads/thread_pool_extension.cpp.o
[ 61%] Building CXX object dlib/CMakeFiles/dlib.dir/threads/async.cpp.o
[ 62%] Building CXX object dlib/CMakeFiles/dlib.dir/timer/timer.cpp.o
[ 64%] Building CXX object dlib/CMakeFiles/dlib.dir/stack_trace.cpp.o
[ 66%] Building CXX object dlib/CMakeFiles/dlib.dir/cuda/cpu_dlib.cpp.o
[ 67%] Building CXX object dlib/CMakeFiles/dlib.dir/cuda/tensor_tools.cpp.o
[ 69%] Building CXX object dlib/CMakeFiles/dlib.dir/data_io/image_dataset_metadata.cpp.o
[ 70%] Building CXX object dlib/CMakeFiles/dlib.dir/data_io/mnist.cpp.o
[ 72%] Building CXX object dlib/CMakeFiles/dlib.dir/data_io/cifar.cpp.o
[ 74%] Building CXX object dlib/CMakeFiles/dlib.dir/global_optimization/global_function_search.cpp.o
[ 75%] Building CXX object dlib/CMakeFiles/dlib.dir/filtering/kalman_filter.cpp.o
[ 77%] Building CXX object dlib/CMakeFiles/dlib.dir/svm/auto.cpp.o
[ 79%] Building CXX object dlib/CMakeFiles/dlib.dir/gui_widgets/widgets.cpp.o
[ 80%] Building CXX object dlib/CMakeFiles/dlib.dir/gui_widgets/drawable.cpp.o
[ 82%] Building CXX object dlib/CMakeFiles/dlib.dir/gui_widgets/canvas_drawing.cpp.o
[ 83%] Building CXX object dlib/CMakeFiles/dlib.dir/gui_widgets/style.cpp.o
[ 85%] Building CXX object dlib/CMakeFiles/dlib.dir/gui_widgets/base_widgets.cpp.o
[ 87%] Building CXX object dlib/CMakeFiles/dlib.dir/gui_core/gui_core_kernel_1.cpp.o
[ 88%] Building CXX object dlib/CMakeFiles/dlib.dir/gui_core/gui_core_kernel_2.cpp.o
[ 90%] Building CXX object dlib/CMakeFiles/dlib.dir/image_loader/png_loader.cpp.o
[ 91%] Building CXX object dlib/CMakeFiles/dlib.dir/image_saver/save_png.cpp.o
[ 93%] Building CXX object dlib/CMakeFiles/dlib.dir/image_loader/jpeg_loader.cpp.o
[ 95%] Building CXX object dlib/CMakeFiles/dlib.dir/image_saver/save_jpeg.cpp.o
[ 96%] Building CXX object dlib/CMakeFiles/dlib.dir/image_loader/webp_loader.cpp.o
[ 98%] Building CXX object dlib/CMakeFiles/dlib.dir/image_saver/save_webp.cpp.o
[100%] Linking CXX static library libdlib.a
[100%] Built target dlib

Apparently all the requirements are fulfilled.

As I mentioned before, I believe something with the combination of compile+dlib+cuda versions is causing the error, but I'm not sure, and brute forcing all possibilities will take me a lot of time.

Does anyone knows a specific combination that certainly works, so I can try it on my machine? Or has any idea why I'm getting this error?

Versions

  • dlib Version: v19.22, v19.24 and master
  • Where did you get dlib: git cloned this repository
  • Platform: Manjaro Linux 21.2.6, kernel 5.15.41
  • Compiler: gcc version 12.1.0
  • cmake: 3.23.1 (installed through pacman)
  • cuda: 11.6.2-1 (installed through pacman)
  • cudnn: 8.4.0.27-1 (installed through pacman)
  • python: 3.10.4
  • kernel headers: linux515-headers 5.15.41-1 (installed through pacman)
  • GPU: RTX 2060 Super

I think the problem is that CUDA does not support GCC 12.1. Try using either:

  • an older version (GCC 11 works)
  • using clang as the C compiler

The second option is what I do these days on Arch:

mkdir build; cd build; CC=clang cmake .. -DUSE_AVX_INSTRUCTIONS=1; cmake --build .

Ok, this fixed the error, thank you! I'll post the output for future reference.

  • installed Clang
  • CC=clang option

Versions

  • Clang: 13.0.1

Output

-- The C compiler identification is Clang 13.0.1
-- The CXX compiler identification is GNU 12.1.0
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Check for working C compiler: /usr/bin/clang - 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
-- Using CMake version: 3.23.1
-- Compiling dlib version: 19.24.99
-- Enabling AVX instructions
-- Looking for pthread.h
-- Looking for pthread.h - found
-- 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.0") 
-- Checking for module 'cblas'
--   Found cblas, version 3.10.1
-- Checking for module 'lapack'
--   Found lapack, version 3.10.1
-- Looking for cblas_ddot
-- Looking for cblas_ddot - found
-- Found BLAS and LAPACK via pkg-config
-- Found CUDA: /opt/cuda (found suitable version "11.6", 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...
-- Building a cuDNN test project to check if you have the right version of cuDNN installed...
-- Enabling CUDA support for dlib.  DLIB WILL USE CUDA, compute capabilities: 50
-- C++11 activated.
-- Configuring done
-- Generating done
-- Build files have been written to: /home/los/dlib/build
[  1%] Building NVCC (Device) object dlib/CMakeFiles/dlib.dir/cuda/dlib_generated_cusolver_dlibapi.cu.o
[  2%] Building NVCC (Device) object dlib/CMakeFiles/dlib.dir/cuda/dlib_generated_cuda_dlib.cu.o
[  4%] Building CXX object dlib/CMakeFiles/dlib.dir/base64/base64_kernel_1.cpp.o
[  5%] Building CXX object dlib/CMakeFiles/dlib.dir/bigint/bigint_kernel_1.cpp.o
[  7%] Building CXX object dlib/CMakeFiles/dlib.dir/bigint/bigint_kernel_2.cpp.o
[  8%] Building CXX object dlib/CMakeFiles/dlib.dir/bit_stream/bit_stream_kernel_1.cpp.o
[ 10%] Building CXX object dlib/CMakeFiles/dlib.dir/entropy_decoder/entropy_decoder_kernel_1.cpp.o
[ 11%] Building CXX object dlib/CMakeFiles/dlib.dir/entropy_decoder/entropy_decoder_kernel_2.cpp.o
[ 13%] Building CXX object dlib/CMakeFiles/dlib.dir/entropy_encoder/entropy_encoder_kernel_1.cpp.o
[ 14%] Building CXX object dlib/CMakeFiles/dlib.dir/entropy_encoder/entropy_encoder_kernel_2.cpp.o
[ 15%] Building CXX object dlib/CMakeFiles/dlib.dir/md5/md5_kernel_1.cpp.o
[ 17%] Building CXX object dlib/CMakeFiles/dlib.dir/tokenizer/tokenizer_kernel_1.cpp.o
[ 18%] Building CXX object dlib/CMakeFiles/dlib.dir/unicode/unicode.cpp.o
[ 20%] Building CXX object dlib/CMakeFiles/dlib.dir/test_for_odr_violations.cpp.o
[ 21%] Building CXX object dlib/CMakeFiles/dlib.dir/sockets/sockets_kernel_1.cpp.o
[ 23%] Building CXX object dlib/CMakeFiles/dlib.dir/bsp/bsp.cpp.o
[ 24%] Building CXX object dlib/CMakeFiles/dlib.dir/dir_nav/dir_nav_kernel_1.cpp.o
[ 26%] Building CXX object dlib/CMakeFiles/dlib.dir/dir_nav/dir_nav_kernel_2.cpp.o
[ 27%] Building CXX object dlib/CMakeFiles/dlib.dir/dir_nav/dir_nav_extensions.cpp.o
[ 28%] Building CXX object dlib/CMakeFiles/dlib.dir/gui_widgets/fonts.cpp.o
[ 30%] Building CXX object dlib/CMakeFiles/dlib.dir/linker/linker_kernel_1.cpp.o
[ 31%] Building CXX object dlib/CMakeFiles/dlib.dir/logger/extra_logger_headers.cpp.o
[ 33%] Building CXX object dlib/CMakeFiles/dlib.dir/logger/logger_kernel_1.cpp.o
[ 34%] Building CXX object dlib/CMakeFiles/dlib.dir/logger/logger_config_file.cpp.o
[ 36%] Building CXX object dlib/CMakeFiles/dlib.dir/misc_api/misc_api_kernel_1.cpp.o
[ 37%] Building CXX object dlib/CMakeFiles/dlib.dir/misc_api/misc_api_kernel_2.cpp.o
[ 39%] Building CXX object dlib/CMakeFiles/dlib.dir/sockets/sockets_extensions.cpp.o
[ 40%] Building CXX object dlib/CMakeFiles/dlib.dir/sockets/sockets_kernel_2.cpp.o
[ 42%] Building CXX object dlib/CMakeFiles/dlib.dir/sockstreambuf/sockstreambuf.cpp.o
[ 43%] Building CXX object dlib/CMakeFiles/dlib.dir/sockstreambuf/sockstreambuf_unbuffered.cpp.o
[ 44%] Building CXX object dlib/CMakeFiles/dlib.dir/server/server_kernel.cpp.o
[ 46%] Building CXX object dlib/CMakeFiles/dlib.dir/server/server_iostream.cpp.o
[ 47%] Building CXX object dlib/CMakeFiles/dlib.dir/server/server_http.cpp.o
[ 49%] Building CXX object dlib/CMakeFiles/dlib.dir/threads/multithreaded_object_extension.cpp.o
[ 50%] Building CXX object dlib/CMakeFiles/dlib.dir/threads/threaded_object_extension.cpp.o
[ 52%] Building CXX object dlib/CMakeFiles/dlib.dir/threads/threads_kernel_1.cpp.o
[ 53%] Building CXX object dlib/CMakeFiles/dlib.dir/threads/threads_kernel_2.cpp.o
[ 55%] Building CXX object dlib/CMakeFiles/dlib.dir/threads/threads_kernel_shared.cpp.o
[ 56%] Building CXX object dlib/CMakeFiles/dlib.dir/threads/thread_pool_extension.cpp.o
[ 57%] Building CXX object dlib/CMakeFiles/dlib.dir/threads/async.cpp.o
[ 59%] Building CXX object dlib/CMakeFiles/dlib.dir/timer/timer.cpp.o
[ 60%] Building CXX object dlib/CMakeFiles/dlib.dir/stack_trace.cpp.o
[ 62%] Building CXX object dlib/CMakeFiles/dlib.dir/cuda/cpu_dlib.cpp.o
[ 63%] Building CXX object dlib/CMakeFiles/dlib.dir/cuda/tensor_tools.cpp.o
[ 65%] Building CXX object dlib/CMakeFiles/dlib.dir/data_io/image_dataset_metadata.cpp.o
[ 66%] Building CXX object dlib/CMakeFiles/dlib.dir/data_io/mnist.cpp.o
[ 68%] Building CXX object dlib/CMakeFiles/dlib.dir/data_io/cifar.cpp.o
[ 69%] Building CXX object dlib/CMakeFiles/dlib.dir/global_optimization/global_function_search.cpp.o
[ 71%] Building CXX object dlib/CMakeFiles/dlib.dir/filtering/kalman_filter.cpp.o
[ 72%] Building CXX object dlib/CMakeFiles/dlib.dir/svm/auto.cpp.o
[ 73%] Building CXX object dlib/CMakeFiles/dlib.dir/gui_widgets/widgets.cpp.o
[ 75%] Building CXX object dlib/CMakeFiles/dlib.dir/gui_widgets/drawable.cpp.o
[ 76%] Building CXX object dlib/CMakeFiles/dlib.dir/gui_widgets/canvas_drawing.cpp.o
[ 78%] Building CXX object dlib/CMakeFiles/dlib.dir/gui_widgets/style.cpp.o
[ 79%] Building CXX object dlib/CMakeFiles/dlib.dir/gui_widgets/base_widgets.cpp.o
[ 81%] Building CXX object dlib/CMakeFiles/dlib.dir/gui_core/gui_core_kernel_1.cpp.o
[ 82%] Building CXX object dlib/CMakeFiles/dlib.dir/gui_core/gui_core_kernel_2.cpp.o
[ 84%] Building CXX object dlib/CMakeFiles/dlib.dir/image_loader/png_loader.cpp.o
[ 85%] Building CXX object dlib/CMakeFiles/dlib.dir/image_saver/save_png.cpp.o
[ 86%] Building CXX object dlib/CMakeFiles/dlib.dir/image_loader/jpeg_loader.cpp.o
[ 88%] Building CXX object dlib/CMakeFiles/dlib.dir/image_saver/save_jpeg.cpp.o
[ 89%] Building CXX object dlib/CMakeFiles/dlib.dir/image_loader/webp_loader.cpp.o
[ 91%] Building CXX object dlib/CMakeFiles/dlib.dir/image_saver/save_webp.cpp.o
[ 92%] Building CXX object dlib/CMakeFiles/dlib.dir/cuda/cudnn_dlibapi.cpp.o
[ 94%] Building CXX object dlib/CMakeFiles/dlib.dir/cuda/cublas_dlibapi.cpp.o
[ 95%] Building CXX object dlib/CMakeFiles/dlib.dir/cuda/curand_dlibapi.cpp.o
[ 97%] Building CXX object dlib/CMakeFiles/dlib.dir/cuda/cuda_data_ptr.cpp.o
[ 98%] Building CXX object dlib/CMakeFiles/dlib.dir/cuda/gpu_data.cpp.o
[100%] Linking CXX static library libdlib.a
[100%] Built target dlib

To be able to run python setup.py install, I had to modify the file, because it was not using clang. I tried with export but still was using gcc.

cmake_args += ['-DCMAKE_C_COMPILER=clang']

cmake_setup = ['cmake', ext.sourcedir] + cmake_args