Điểm:0

Cuda_kde_depth_packet_processor.cu:39:10: lỗi nghiêm trọng: helper_math.h: Không tìm thấy tệp hoặc thư mục

lá cờ it

Tôi muốn Kinect 2 của tôi được công nhận là webcam trên trình điều khiển Ubuntu 21.10 + nvidia 470.86 + cuda 11.4:

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

nvcc: Trình điều khiển trình biên dịch NVIDIA (R) Cuda
Bản quyền (c) 2005-2021 Tập đoàn NVIDIA
Được xây dựng vào Th2_May__3_19:15:13_PDT_2021
Công cụ biên dịch Cuda, phát hành 11.3, V11.3.109
Bản dựng cuda_11.3.r11.3/compiler.29920130_0

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

| Phiên bản trình điều khiển NVIDIA-SMI 470.86: 470.86 Phiên bản CUDA: 11.4

Để hoàn thành nhiệm vụ, tôi đã làm theo hướng dẫn này:

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

và tôi đã đưa ra các lệnh sau:

bản sao git https://github.com/OpenKinect/libfreenect2.git
cd libfreenect2
bản dựng mkdir && bản dựng cd
cmake..

nhưng tại một số điểm, tôi gặp phải lỗi này:

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

-- sử dụng tinythread làm thư viện luồng
-- KHÔNG thể tìm thấy TegraJPEG (thiếu: TegraJPEG_INCLUDE_DIRS TegraJPEG_WORKS) 
Cảnh báo CMake (nhà phát triển) tại /usr/share/cmake-3.18/Modules/FindOpenGL.cmake:305 (tin nhắn):
  Chính sách CMP0072 chưa được đặt: FindOpenGL ưu tiên GLVND theo mặc định khi
  có sẵn. Chạy "cmake --help-policy CMP0072" để biết chi tiết về chính sách. Sử dụng
  lệnh cmake_policy để đặt chính sách và chặn cảnh báo này.
  FindOpenGL đã tìm thấy cả thư viện GL kế thừa:
    OPENGL_gl_LIBRARY: /usr/lib/x86_64-linux-gnu/libGL.so
  và thư viện GLVND cho OpenGL và 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 chưa được đặt thành "GLVND" hoặc "LEGACY", vì vậy đối với
  khả năng tương thích với CMake 3.10 trở xuống, thư viện GL kế thừa sẽ được sử dụng.
Ngăn xếp cuộc gọi (cuộc gọi gần đây nhất trước):
  CMakeLists.txt:269 (FIND_PACKAGE)
Cảnh báo này dành cho các nhà phát triển dự án. Sử dụng -Wno-dev để chặn nó.
-- Liên kết với các thư viện này: 
 /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
 Chủ đề::Chủ đề
 đl
 /usr/lib/x86_64-linux-gnu/librt.a
-- KHÔNG thể tìm thấy Doxygen (thiếu: DOXYGEN_EXECUTABLE) 
-- Cấu hình ví dụ
-- Sử dụng mục tiêu freenect2 trong cây
-- Danh sách tính năng:
-- CUDA có
-- CXX11 bị vô hiệu hóa
-- Ví dụ có
-- OpenCL có
-- OpenGL có
-- OpenNI2 có
-- TegraJPEG không
-- Luồng tinythread
-- TurboJPEG có
-- VAAPI có
-- VideoToolbox không (chỉ dành cho Apple)
-- streamer_recorder bị tắt
-- Cấu hình xong
-- Tạo xong
-- Các tệp bản dựng đã được ghi vào: /home/marietto/Scrivania/libfreenect2/build
[ 4%] Tạo_resources_tool mục tiêu đã tạo
[ 7%] Xây dựng đối tượng NVCC (Thiết bị) 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: lỗi nghiêm trọng: helper_math.h: Tệp o thư mục không tồn tại
   39 | #include <helper_math.h>
      | ^~~~~~~~~~~~~~~~~~~
biên dịch chấm dứt.
Lỗi CMake tại cuda_compile_1_generated_cuda_kde_depth_packet_processor.cu.o.RelWithDebInfo.cmake:220 (tin nhắn):
  Tạo lỗi
  /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] Lỗi 1
make[1]: *** [CMakeFiles/Makefile2:194: CMakeFiles/freenect2.dir/all] Errore 2
thực hiện: *** [Tệp tạo tệp:149: tất cả] Lỗi 2

nó không thể tiếp tục quá trình biên dịch vì nó không thể tìm thấy tệp helper_math.h ở vị trí thích hợp. Tại thời điểm này, tôi đang bối rối. Tôi không biết tôi có thể lấy tệp đó ở đâu và tôi nên đặt nó ở đâu. Tôi tưởng tượng rằng tôi nên cài đặt các mẫu cuda và tôi đã thử, như bạn có thể thấy bên dưới, lấy gói cuda cho ubuntu 20.04 (tôi đang chạy 21.10, vì vậy tôi đã nghĩ rằng 20.04 là tốt, vì nó là phiên bản gần nhất với ubuntu của tôi phiên bản), và tôi đã bỏ chọn mọi thứ trừ các mẫu, nhưng nó không hoạt động:

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

===========
= Tóm tắt =
===========
Trình điều khiển: Không được chọn
Bộ công cụ: Được cài đặt trong /usr/local/cuda-11.6/
Làm ơn hãy chắc chắn điều đó
 - ĐƯỜNG bao gồm /usr/local/cuda-11.6/bin
 - LD_LIBRARY_PATH bao gồm /usr/local/cuda-11.6/lib64 hoặc, thêm /usr/local/cuda-11.6/lib64 vào /etc/ld.so.conf và chạy ldconfig với quyền root
Để gỡ cài đặt Bộ công cụ CUDA, hãy chạy cuda-uninstaller trong /usr/local/cuda-11.6/bin
***CẢNH BÁO: Cài đặt chưa hoàn tất! Cài đặt này không cài đặt Trình điều khiển CUDA. Cần có trình điều khiển của phiên bản ít nhất là 510.00 để chức năng CUDA 11.6 hoạt động.
Để cài đặt trình điều khiển bằng trình cài đặt này, hãy chạy lệnh sau, thay thế <CudaInstaller> bằng tên của tệp chạy này:
    sudo <CudaInstaller>.run --silent --driver
Tệp nhật ký là /var/log/cuda-installer.log

như một thử nghiệm tiếp theo, tôi đã thử cài đặt các mẫu từ phiên bản cuda bên dưới:

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

nhưng :

[INFO]: Cài đặt trình điều khiển được phát hiện bằng lệnh: apt list --installed | grep -e nvidia-driver-[0-9][0-9][0-9] -e >
[INFO]: Dọn dẹp cửa sổ
[INFO]: Hoàn thành
[INFO]: Đang kiểm tra phiên bản trình biên dịch...
[INFO]: vị trí gcc: /usr/bin/gcc
[THÔNG TIN]: phiên bản gcc: phiên bản gcc 10.3.0 (Ubuntu 10.3.0-11ubuntu1)
[LỖI]: phiên bản trình biên dịch không được hỗ trợ: 10.3.0. Sử dụng --override để ghi đè kiểm tra này.

Khi thử thêm, tôi đã thử các phiên bản khác nhau của gói cuda 11.3 và 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

, nhưng mọi lúc nó sẽ không chỉ cài đặt các mẫu mà không có trình điều khiển. Tôi không muốn cài đặt lại trình điều khiển, vì nó vẫn hoạt động; Tôi không muốn phá vỡ hệ thống;

Cuối cùng, tôi đã cài đặt các mẫu cuda bằng hướng dẫn này:

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

chúng đã được cài đặt chính xác, không đưa ra bất kỳ lỗi nào, nhưng nó vẫn không thể tìm thấy tệp helper_math.h, đưa ra lỗi tương tự như trước đây.

tôi nên làm gì ? cảm ơn.

Đăng câu trả lời

Hầu hết mọi người không hiểu rằng việc đặt nhiều câu hỏi sẽ mở ra cơ hội học hỏi và cải thiện mối quan hệ giữa các cá nhân. Ví dụ, trong các nghiên cứu của Alison, mặc dù mọi người có thể nhớ chính xác có bao nhiêu câu hỏi đã được đặt ra trong các cuộc trò chuyện của họ, nhưng họ không trực giác nhận ra mối liên hệ giữa câu hỏi và sự yêu thích. Qua bốn nghiên cứu, trong đó những người tham gia tự tham gia vào các cuộc trò chuyện hoặc đọc bản ghi lại các cuộc trò chuyện của người khác, mọi người có xu hướng không nhận ra rằng việc đặt câu hỏi sẽ ảnh hưởng—hoặc đã ảnh hưởng—mức độ thân thiện giữa những người đối thoại.