cuda_kde_depth_packet_processor.cu:39:10: фатальная ошибка: helper_math.h: файл или каталог не найден при попытке скомпилировать libfreenect2 в Ubuntu 21.10
Я хочу, чтобы мой Kinect 2 распознавался как веб-камера на Ubuntu 21.10 + драйвер nvidia 470.86 + cuda 11.4:
marietto-BHYVE:/home/marietto# nvcc --version
nvcc: NVIDIA (R) Cuda compiler driver
Copyright (c) 2005-2021 NVIDIA Corporation
Built on Mon_May__3_19:15:13_PDT_2021
Cuda compilation tools, release 11.3, V11.3.109
Build cuda_11.3.r11.3/compiler.29920130_0
marietto-BHYVE:/home/marietto/Scrivania/libfreenect2# nvidia-smi
| NVIDIA-SMI 470.86 Driver Version: 470.86 CUDA Version: 11.4
Чтобы выполнить задачу, я следовал этому руководству:
https://www.notaboutmy.life/posts/run-kinect-2-on-ubuntu-20-lts/
и я выпустил следующие команды:
git clone https://github.com/OpenKinect/libfreenect2.git
cd libfreenect2
mkdir build && cd build
cmake ..
но в какой-то момент у меня есть эта ошибка:
marietto-BHYVE:/home/marietto/Scrivania/libfreenect2/build# make
-- using tinythread as threading library
-- Could NOT find TegraJPEG (missing: TegraJPEG_INCLUDE_DIRS TegraJPEG_WORKS)
CMake Warning (dev) at /usr/share/cmake-3.18/Modules/FindOpenGL.cmake:305 (message):
Policy CMP0072 is not set: FindOpenGL prefers GLVND by default when
available. Run "cmake --help-policy CMP0072" for policy details. Use the
cmake_policy command to set the policy and suppress this warning.
FindOpenGL found both a legacy GL library:
OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so
and GLVND libraries for OpenGL and GLX:
OPENGL_opengl_LIBRARY: /usr/lib/x86_64-linux-gnu/libOpenGL.so
OPENGL_glx_LIBRARY: /usr/lib/x86_64-linux-gnu/libGLX.so
OpenGL_GL_PREFERENCE has not been set to "GLVND" or "LEGACY", so for
compatibility with CMake 3.10 and below the legacy GL library will be used.
Call Stack (most recent call first):
CMakeLists.txt:269 (FIND_PACKAGE)
This warning is for project developers. Use -Wno-dev to suppress it.
-- Linking with these libraries:
/usr/lib/x86_64-linux-gnu/libusb-1.0.so
pthread
va-drm
va
/usr/lib/x86_64-linux-gnu/libjpeg.so
/usr/lib/x86_64-linux-gnu/libturbojpeg.so.0
/usr/lib/x86_64-linux-gnu/libglfw.so
/usr/lib/x86_64-linux-gnu/libGL.so
/usr/lib/x86_64-linux-gnu/libOpenCL.so
/usr/lib/x86_64-linux-gnu/libcudart_static.a
Threads::Threads
dl
/usr/lib/x86_64-linux-gnu/librt.a
-- Could NOT find Doxygen (missing: DOXYGEN_EXECUTABLE)
-- Configurating examples
-- Using in-tree freenect2 target
-- Feature list:
-- CUDA yes
-- CXX11 disabled
-- Examples yes
-- OpenCL yes
-- OpenGL yes
-- OpenNI2 yes
-- TegraJPEG no
-- Threading tinythread
-- TurboJPEG yes
-- VAAPI yes
-- VideoToolbox no (Apple only)
-- streamer_recorder disabled
-- Configuring done
-- Generating done
-- Build files have been written to: /home/marietto/Scrivania/libfreenect2/build
[ 4%] Built target generate_resources_tool
[ 7%] Building NVCC (Device) object CMakeFiles/cuda_compile_1.dir/src/cuda_compile_1_generated_cuda_kde_depth_packet_processor.cu.o
/home/marietto/Scrivania/libfreenect2/src/cuda_kde_depth_packet_processor.cu:39:10: fatal error: helper_math.h: File o directory non esistente
39 | #include <helper_math.h>
| ^~~~~~~~~~~~~~~
compilation terminated.
CMake Error at cuda_compile_1_generated_cuda_kde_depth_packet_processor.cu.o.RelWithDebInfo.cmake:220 (message):
Error generating
/home/marietto/Scrivania/libfreenect2/build/CMakeFiles/cuda_compile_1.dir/src/./cuda_compile_1_generated_cuda_kde_depth_packet_processor.cu.o
make[2]: *** [CMakeFiles/freenect2.dir/build.make:411: CMakeFiles/cuda_compile_1.dir/src/cuda_compile_1_generated_cuda_kde_depth_packet_processor.cu.o] Errore 1
make[1]: *** [CMakeFiles/Makefile2:194: CMakeFiles/freenect2.dir/all] Errore 2
make: *** [Makefile:149: all] Errore 2
он не может продолжить компиляцию, потому что не может найти файл helper_math.h в нужном месте. В этот момент я в замешательстве. Я не знаю, где взять этот файл и куда его поместить. Я предполагаю, что мне следует установить образцы cuda, и я попытался, как вы можете видеть ниже, получить пакет cuda для Ubuntu 20.04 (я использую 21.10, поэтому я подумал, что 20.04 был хорош, так как он ближе всего к моей версии Ubuntu ), и я отменил выбор всего, кроме образцов, но это не сработало:
marietto-BHYVE:/home/marietto/Scrivania# chmod +x cuda_11.6.0_510.39.01_linux.run
marietto-BHYVE:/home/marietto/Scrivania# ./cuda_11.6.0_510.39.01_linux.run
===========
= Summary =
===========
Driver: Not Selected
Toolkit: Installed in /usr/local/cuda-11.6/
Please make sure that
- PATH includes /usr/local/cuda-11.6/bin
- LD_LIBRARY_PATH includes /usr/local/cuda-11.6/lib64, or, add /usr/local/cuda-11.6/lib64 to /etc/ld.so.conf and run ldconfig as root
To uninstall the CUDA Toolkit, run cuda-uninstaller in /usr/local/cuda-11.6/bin
***WARNING: Incomplete installation! This installation did not install the CUDA Driver. A driver of version at least 510.00 is required for CUDA 11.6 functionality to work.
To install the driver using this installer, run the following command, replacing <CudaInstaller> with the name of this run file:
sudo <CudaInstaller>.run --silent --driver
Logfile is /var/log/cuda-installer.log
Я также попытался установить образцы из версии cuda ниже:
но :
[INFO]: Driver installation detected by command: apt list --installed | grep -e nvidia-driver-[0-9][0-9][0-9] -e >
[INFO]: Cleaning up window
[INFO]: Complete
[INFO]: Checking compiler version...
[INFO]: gcc location: /usr/bin/gcc
[INFO]: gcc version: gcc version 10.3.0 (Ubuntu 10.3.0-11ubuntu1)
[ERROR]: unsupported compiler version: 10.3.0. Use --override to override this check.
В качестве дальнейших попыток я пробовал разные версии пакетов cuda 11.3 и 11.4:
cuda-11-3_11.3.0-1_amd64.deb 4.0KB 2021-03-26 22:54
cuda-11-3_11.3.1-1_amd64.deb 4.0KB 14-05-2021 01:12
cuda-11-4_11.4.0-1_amd64.deb 4.0KB 24-06-2021 02:48
cuda-11-4_11.4.1-1_amd64.deb 4.0KB 2021-07-28 19:46
cuda-11-4_11.4.2-1_amd64.deb 4.0KB 2021-08-30 21:01
cuda-11-4_11.4.3-1_amd64.deb 4.0KB 2021-10-29 16:46
, но каждый раз он не будет устанавливать только образцы без драйвера. Я не хочу переустанавливать драйвер, так как он работает; Я не хочу ломать систему;
В конце я установил образцы cuda, используя этот учебник:
https://snapcraft.io/install/cuda-samples/ubuntu
они были установлены правильно, без каких-либо ошибок, но он по-прежнему не может найти файл helper_math.h, выдавая ту же ошибку, что и раньше.
Что я должен делать ? Спасибо.