Puncte:0

cuda_kde_depth_packet_processor.cu:39:10: eroare fatală: helper_math.h: Fișierul sau directorul nu a fost găsit în timpul încercării de a compila libfreenect2 pe ubuntu 21.10

drapel in

Vreau ca Kinect-ul meu 2 să fie recunoscut ca cameră web pe ubuntu 21.10 + driverul nvidia 470.86 + cuda 11.4:

marietto-BHYVE:/home/marietto# nvcc --version

nvcc: driver de compilator NVIDIA (R) Cuda
Drepturi de autor (c) 2005-2021 NVIDIA Corporation
Construit pe Mon_May__3_19:15:13_PDT_2021
Instrumente de compilare Cuda, versiunea 11.3, V11.3.109
Build cuda_11.3.r11.3/compiler.29920130_0

marietto-BHYVE:/home/marietto/Scrivania/libfreenect2# nvidia-smi

| Versiunea driverului NVIDIA-SMI 470.86: 470.86 Versiunea CUDA: 11.4

Pentru a îndeplini sarcina, am urmat acest tutorial:

https://www.notaboutmy.life/posts/run-kinect-2-on-ubuntu-20-lts/

și am lansat următoarele comenzi:

git clone https://github.com/OpenKinect/libfreenect2.git
cd libfreenect2
mkdir build && cd build
face ..

dar la un moment dat, am această eroare:

marietto-BHYVE:/home/marietto/Scrivania/libfreenect2/build# make

-- folosind tinythread ca bibliotecă de threading
-- NU s-a putut găsi TegraJPEG (lipsește: TegraJPEG_INCLUDE_DIRS TegraJPEG_WORKS) 
Avertisment CMake (dev) la /usr/share/cmake-3.18/Modules/FindOpenGL.cmake:305 (mesaj):
  Politica CMP0072 nu este setată: FindOpenGL preferă GLVND în mod implicit când
  disponibil. Rulați „cmake --help-policy CMP0072” pentru detalii despre politică. Folosește
  comanda cmake_policy pentru a seta politica și a suprima acest avertisment.
  FindOpenGL a găsit atât o bibliotecă GL moștenită:
    OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so
  și biblioteci GLVND pentru OpenGL și 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 nu a fost setat la „GLVND” sau „LEGACY”, deci pentru
  va fi utilizată compatibilitatea cu CMake 3.10 și mai jos, biblioteca GL moștenită.
Stack de apeluri (cel mai recent apel mai întâi):
  CMakeLists.txt:269 (FIND_PACKAGE)
Acest avertisment este pentru dezvoltatorii de proiecte. Utilizați -Wno-dev pentru a-l suprima.
-- Conectarea cu aceste biblioteci: 
 /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
 Fire::Fire
 dl
 /usr/lib/x86_64-linux-gnu/librt.a
-- NU s-a putut găsi Doxygen (lipsește: DOXYGEN_EXECUTABLE) 
-- Exemple de configurare
-- Folosind ținta freenect2 în arbore
-- Listă de caracteristici:
-- CUDA da
-- CXX11 dezactivat
-- Exemple da
-- OpenCL da
-- OpenGL da
-- OpenNI2 da
-- TegraJPEG nr
-- Threading tinythread
-- TurboJPEG da
-- VAAPI da
-- VideoToolbox nu (numai Apple)
-- streamer_recorder dezactivat
-- Configurare finalizată
-- Generarea gata
-- Fișierele de compilare au fost scrise în: /home/marietto/Scrivania/libfreenect2/build
[ 4%] Țintă construită generate_resources_tool
[ 7%] Construirea obiectului NVCC (Dispozitiv) 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: eroare fatală: helper_math.h: Fișier sau director neexistent
   39 | #include <helper_math.h>
      | ^~~~~~~~~~~~~~~~
compilarea sa încheiat.
Eroare CMake la cuda_compile_1_generated_cuda_kde_depth_packet_processor.cu.o.RelWithDebInfo.cmake:220 (mesaj):
  Eroare la generare
  /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] Eroare 1
make[1]: *** [CMakeFiles/Makefile2:194: CMakeFiles/freenect2.dir/all] Eroare 2
make: *** [Makefile:149: all] Eroare 2

nu poate continua compilarea deoarece nu poate găsi fișierul helper_math.h în locul potrivit. În acest moment sunt confuz. Nu știu de unde pot obține acel fișier și unde ar trebui să-l plasez. Îmi imaginez că ar trebui să instalez mostrele cuda și am încercat, după cum puteți vedea mai jos, să obțin pachetul cuda pentru ubuntu 20.04 (am rulat 21.10, așa că m-am gândit că 20.04 este bun, deoarece este cel mai apropiat de versiunea mea de ubuntu). ), și am deselectat totul, cu excepția mostrelor, dar nu a funcționat:

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

===========
= Rezumat =
===========
Driver: neselectat
Toolkit: instalat în /usr/local/cuda-11.6/
Vă rugăm să vă asigurați că
 - PATH include /usr/local/cuda-11.6/bin
 - LD_LIBRARY_PATH include /usr/local/cuda-11.6/lib64 sau adăugați /usr/local/cuda-11.6/lib64 la /etc/ld.so.conf și rulați ldconfig ca root
Pentru a dezinstala CUDA Toolkit, rulați cuda-uninstaller în /usr/local/cuda-11.6/bin
***ATENȚIE: Instalare incompletă! Această instalare nu a instalat driverul CUDA. Este necesar un driver cu versiunea de cel puțin 510.00 pentru ca funcționalitatea CUDA 11.6 să funcționeze.
Pentru a instala driverul folosind acest program de instalare, executați următoarea comandă, înlocuind <CudaInstaller> cu numele acestui fișier de rulare:
    sudo <CudaInstaller>.run --silent --driver
Fișierul jurnal este /var/log/cuda-installer.log

De asemenea, am încercat să instalez mostrele din versiunea cuda de mai jos:

http://developer.download.nvidia.com/compute/cuda/10.1/Prod/local_installers/cuda_10.1.243_418.87.00_linux.run

dar :

[INFO]: Instalarea driverului a fost detectată prin comandă: apt list --installed | grep -e nvidia-driver-[0-9][0-9][0-9] -e >
[INFO]: Curățarea ferestrei
[INFO]: Completează
[INFO]: Se verifică versiunea compilatorului...
[INFO]: locație gcc: /usr/bin/gcc

[INFO]: versiunea gcc: versiunea gcc 10.3.0 (Ubuntu 10.3.0-11ubuntu1)

[EROARE]: versiunea compilatorului neacceptată: 10.3.0. Utilizați --override pentru a anula această verificare.

Ca încercări ulterioare, am încercat diferite versiuni ale pachetelor cuda 11.3 și 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 2021-05-14 01:12

cuda-11-4_11.4.0-1_amd64.deb 4.0KB 2021-06-24 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

, dar de fiecare dată nu va instala doar mostrele fără driver. Nu vreau să reinstalez driverul, deoarece funcționează; Nu vreau să sparg sistemul;

La sfârșit, am instalat mostrele cuda folosind acest tutorial:

https://snapcraft.io/install/cuda-samples/ubuntu

au fost instalate corect, fără a da nicio eroare, dar tot nu poate găsi fișierul helper_math.h, dând aceeași eroare ca înainte.

Ce ar trebuii să fac ? Mulțumiri.

drapel cc
Verificați dacă aveți fișierul în .../cuda-10.1/samples/common/inc/helper_math.h sau oriunde ați instalat copia care poate fi scrisă a mostrelor. Apoi adăugați acea locație în mod explicit la steagurile compilatorului dvs. -I .../samples/common.inc etc. în fișierul dvs. make (sau adăugați doar un link către fișierul din fișierul include obișnuit).
drapel in
fișierul lipsă este aici: /usr/local/cuda-11.4/samples/common/inc/helper_math.h ; si acum ce ar trebui sa fac? cum pot adăuga acea locație la compilatorul meu în fișierul meu make? sau cum pot adăuga un link către fișier la fișierul meu de includere obișnuit?
drapel in
asta este ceea ce văd în folderul include al instalării libfreenect2: https://ibb.co/Cw6hnjW
drapel in
pentru a economisi timp, am arhivat tot folderul libfreenect2, pe care îl puteți găsi aici: https://drive.google.com/file/d/1VoF_5kqq7oX0_IQPqIMROuFD3PlJ5VzQ/view?usp=sharing ; Puteți adăuga pentru mine calea fișierului în interiorul fișierului potrivit? este o mizerie pentru mine. Nu inteleg foarte bine ce sa fac. și apoi trimite-mi fișierul modificat. Mulțumiri.
drapel cc
Aceasta nu este cu adevărat o problemă Ubuntu, ci o problemă de sintaxă C/makefile. Veți obține asistență mai bună pe un site dedicat suportului C. Deoarece este legat de CUDA, poate începeți de la directorul de mostre CUDA care pot fi scrise (așa cum vi s-a cerut să faceți din copia doar în citire) și creați-vă proiectul acolo, copiend exemplele de cod eșantion / makefile existente. Dacă fișierul lipsă este într-adevăr singura problemă, doar copiați-l în directorul dvs. ...libfreenect2/include/libfreenect2. Dar probabil că vor fi și alte probleme, așa că copia de probă ar fi mai bună.

Postează un răspuns

Majoritatea oamenilor nu înțeleg că a pune multe întrebări deblochează învățarea și îmbunătățește legătura interpersonală. În studiile lui Alison, de exemplu, deși oamenii își puteau aminti cu exactitate câte întrebări au fost puse în conversațiile lor, ei nu au intuit legătura dintre întrebări și apreciere. În patru studii, în care participanții au fost implicați în conversații ei înșiși sau au citit transcrieri ale conversațiilor altora, oamenii au avut tendința să nu realizeze că întrebarea ar influența – sau ar fi influențat – nivelul de prietenie dintre conversatori.