Dopo questo, non riesco a far andare avanti la compilazione di opencv versione 4.1.2 a causa di un errore che sembrerebbe essere generato da un'incompatibilità di un componente di CUDA toolkit (nvcc) con il compilatore della serie 9. Questo è il codice restituito nella parte finale:
Codice: Seleziona tutto
[ 3%] Building NVCC (Device) object modules/core/CMakeFiles/cuda_compile_1.dir/src/cuda/cuda_compile_1_generated_gpu_mat.cu.o
cd /tmp/SBo/opencv-4.1.2/build/modules/core/CMakeFiles/cuda_compile_1.dir/src/cuda && /usr/bin/cmake -E make_directory /tmp/SBo/opencv-4.1.2/build/modules/core/CMakeFiles/cuda_compile_1.dir/src/cuda/.
cd /tmp/SBo/opencv-4.1.2/build/modules/core/CMakeFiles/cuda_compile_1.dir/src/cuda && /usr/bin/cmake -D verbose:BOOL=1 -D build_configuration:STRING=Release -D generated_file:STRING=/tmp/SBo/opencv-4.1.2/build/modules/core/CMakeFiles/cuda_compile_1.dir/src/cuda/./cuda_compile_1_generated_gpu_mat.cu.o -D generated_cubin_file:STRING=/tmp/SBo/opencv-4.1.2/build/modules/core/CMakeFiles/cuda_compile_1.dir/src/cuda/./cuda_compile_1_generated_gpu_mat.cu.o.cubin.txt -P /tmp/SBo/opencv-4.1.2/build/modules/core/CMakeFiles/cuda_compile_1.dir/src/cuda/cuda_compile_1_generated_gpu_mat.cu.o.Release.cmake
-- Removing /tmp/SBo/opencv-4.1.2/build/modules/core/CMakeFiles/cuda_compile_1.dir/src/cuda/./cuda_compile_1_generated_gpu_mat.cu.o
/usr/bin/cmake -E remove /tmp/SBo/opencv-4.1.2/build/modules/core/CMakeFiles/cuda_compile_1.dir/src/cuda/./cuda_compile_1_generated_gpu_mat.cu.o
-- Generating dependency file: /tmp/SBo/opencv-4.1.2/build/modules/core/CMakeFiles/cuda_compile_1.dir/src/cuda/cuda_compile_1_generated_gpu_mat.cu.o.NVCC-depend
/usr/share/cuda/bin/nvcc -M -D__CUDACC__ /tmp/SBo/opencv-4.1.2/modules/core/src/cuda/gpu_mat.cu -o /tmp/SBo/opencv-4.1.2/build/modules/core/CMakeFiles/cuda_compile_1.dir/src/cuda/cuda_compile_1_generated_gpu_mat.cu.o.NVCC-depend -ccbin /usr/bin/cc -m64 -D__OPENCV_BUILD=1 -D_USE_MATH_DEFINES -D__STDC_CONSTANT_MACROS -D__STDC_LIMIT_MACROS -D__STDC_FORMAT_MACROS -DOPENCV_WITH_ITT=1 -Xcompiler ,\"-O2\",\"-fPIC\",\"-fsigned-char\",\"-W\",\"-Wall\",\"-Werror=return-type\",\"-Werror=non-virtual-dtor\",\"-Werror=address\",\"-Werror=sequence-point\",\"-Wformat\",\"-Werror=format-security\",\"-Wmissing-declarations\",\"-Winit-self\",\"-Wpointer-arith\",\"-Wuninitialized\",\"-Winit-self\",\"-Wno-comment\",\"-Wno-strict-overflow\",\"-fdiagnostics-show-option\",\"-Wno-long-long\",\"-pthread\",\"-fomit-frame-pointer\",\"-ffunction-sections\",\"-fdata-sections\",\"-msse\",\"-msse2\",\"-msse3\",\"-fvisibility=hidden\",\"-fopenmp\",\"-Wno-undef\",\"-Wno-enum-compare\",\"-Wno-unused-function\",\"-Wno-shadow\",\"-Wno-unused-but-set-variable\",\"-O3\",\"-DNDEBUG\",\"-DNDEBUG\" -gencode arch=compute_20,code=sm_20 -gencode arch=compute_30,code=sm_30 -gencode arch=compute_35,code=sm_35 -gencode arch=compute_37,code=sm_37 -gencode arch=compute_50,code=sm_50 -gencode arch=compute_52,code=sm_52 -gencode arch=compute_60,code=sm_60 -gencode arch=compute_61,code=sm_61 -D_FORCE_INLINES -Xcompiler -DCVAPI_EXPORTS -Xcompiler -fPIC --std=c++11 -DNVCC -I/usr/share/cuda/include -I/tmp/SBo/opencv-4.1.2/build -I/usr/include/eigen3 -I/tmp/SBo/opencv-4.1.2/modules/core/include -I/tmp/SBo/opencv-4.1.2/build/modules/core -I/tmp/SBo/opencv-4.1.2/opencv_contrib-4.1.2/modules/cudev/include -I/tmp/SBo/opencv-4.1.2/3rdparty/include/opencl/1.2 -I/tmp/SBo/opencv-4.1.2/3rdparty/ittnotify/include
nvcc warning : The 'compute_20', 'sm_20', and 'sm_21' architectures are deprecated, and may be removed in a future release (Use -Wno-deprecated-gpu-targets to suppress warning).
In file included from /usr/share/cuda/include/cuda_runtime.h:78,
from <command-line>:
/usr/share/cuda/include/host_config.h:119:2: error: #error -- unsupported GNU version! gcc versions later than 5 are not supported!
119 | #error -- unsupported GNU version! gcc versions later than 5 are not supported!
| ^~~~~
CMake Error at cuda_compile_1_generated_gpu_mat.cu.o.Release.cmake:219 (message):
Error generating
/tmp/SBo/opencv-4.1.2/build/modules/core/CMakeFiles/cuda_compile_1.dir/src/cuda/./cuda_compile_1_generated_gpu_mat.cu.o
make[2]: *** [modules/core/CMakeFiles/opencv_core.dir/build.make:65: modules/core/CMakeFiles/cuda_compile_1.dir/src/cuda/cuda_compile_1_generated_gpu_mat.cu.o] Error 1
make[2]: uscita dalla directory "/tmp/SBo/opencv-4.1.2/build"
make[1]: *** [CMakeFiles/Makefile2:2791: modules/core/CMakeFiles/opencv_core.dir/all] Error 2
make[1]: uscita dalla directory "/tmp/SBo/opencv-4.1.2/build"
make: *** [Makefile:163: all] Error 2
Codice: Seleziona tutto
In file included from /usr/share/cuda/include/cuda_runtime.h:78,
from <command-line>:
/usr/share/cuda/include/host_config.h:119:2: error: #error -- unsupported GNU version! gcc versions later than 5 are not supported!
ln -s /usr/bin/gcc-5 /usr/share/cuda/bin/gcc
Ho messo questi due collegamenti (gcc e g++) ma persiste l'errore di compilazione in opencv. Ieri ho provato a vedere la fattibilità di un'installazione di una versione più recente di CUDA Toolkit (la 10) e adattare lo slackbuild, ma l'architettura degli installatori rilasciati da Nvidia è drasticamente cambiata. Peraltro ho notato che verrebbe avviata anche l'installazione di un driver Nvidia, perciò mi sono fermato per evitare di incasinarmi la configurazione grafica del computer.
A questo punto è ragionevole provare a superare l'empasse dell'errore di compilazione di opencv, ma non so cos'altro posso fare. A parte questo, senza il supporto a CUDA l'installazione di opencv va a buon fine. Potrei anche farne a meno, ma l'obiettivo è quello di estendere le funzionalità della computer vision e del deep learning all'interno di Blender. Ergo, cosa posso fare?
PS: a margine, ho il sospetto che forse i miei quesiti non sono del tutto allineati con gli obiettivi specifici dei forum di slacky.eu, perciò se sono off topic bacchettatemi senza pietà