[0/4] Performing build step for 'jsbsim_bridge' ninja: no work to do. [3/4] cd /home/lyf/hai/autopilot/build...f/hai/autopilot/build/px4_sitl_default /bin/sh: 1: /home/lyf/hai/autopilot/Tools/sitl_run.sh: Permission denied FAILED: platforms/posix/CMakeFiles/jsbsim cd /home/lyf/hai/autopilot/build/px4_sitl_default/tmp && /home/lyf/hai/autopilot/Tools/sitl_run.sh /home/lyf/hai/autopilot/build/px4_sitl_default/bin/px4 none jsbsim none LSZH /home/lyf/hai/autopilot /home/lyf/hai/autopilot/build/px4_sitl_default ninja: build stopped: subcommand failed. make: *** [Makefile:233:px4_sitl] 错误 1

时间: 2025-06-17 14:14:43 浏览: 27
<think>好的,我现在需要帮助用户解决PX4 SITL构建过程中由于权限问题导致的失败,特别是提到的“permission denied”错误,以及sitl_run.sh和ninja构建错误。首先,我得仔细分析用户提供的引用内容,找出可能的原因和解决方案。 用户提到了引用[1]中的错误信息,指出在运行PX4时无法创建锁文件,原因是权限被拒绝。这可能是因为用户没有足够的权限去访问/tmp目录下的文件。通常,/tmp目录对所有用户是可写的,但如果之前有以sudo权限运行过PX4,可能导致生成的锁文件属于root用户,普通用户无法覆盖,从而引发权限错误。这时候需要清理/tmp下的相关文件,或者使用正确的权限重新运行。 接下来是引用[2],用户在运行roslaunch时出现错误,提示找不到px4包中的launch文件。这可能是因为环境变量没有正确设置,或者PX4的工作空间没有正确构建和source。用户需要确保已经执行了source ~/catkin_ws/devel/setup.bash或者类似的命令,并且PX4的路径已经添加到ROS_PACKAGE_PATH中。此外,用户需要检查launch文件的路径是否正确,以及是否更新了子模块。 引用[3]提到的ROMFS/romfs_extract.stamp构建失败,可能涉及文件权限问题,或者构建过程中某些依赖项缺失。用户需要确保整个PX4源码目录的权限正确,没有使用sudo进行构建,否则会导致生成的文件属于root,后续构建时普通用户无法修改。此外,检查是否安装了所有必要的依赖库,比如nuttx相关工具。 引用[4]提到需要修改launch文件并使用sudo权限,但通常不建议使用sudo来编辑或运行ROS相关的文件,这可能导致权限混乱。正确的做法是确保用户对相关文件有写入权限,或者更改文件权限而不是使用sudo。 引用[5]给出了解决步骤,包括检查系统要求、安装依赖、设置环境变量、验证安装等。这些都是解决构建问题的通用步骤,需要用户逐一排查。 综合这些信息,我需要将解决方案分步骤整理,首先处理权限问题,特别是/tmp目录和构建目录的权限,然后确保环境变量正确,接着处理可能存在的构建错误,最后检查launch文件的配置。同时,要提醒用户避免使用sudo进行构建,正确设置文件所有权,并确保所有依赖项安装正确。 可能还需要指导用户如何正确清理构建目录,重新构建,以及处理ROS环境的问题。例如,使用rm -rf build/和make clean,然后重新执行构建命令。另外,检查sitl_run.sh脚本是否有可执行权限,如果没有,需要chmod +x赋予权限。 最后,生成相关问题,帮助用户进一步解决可能遇到的类似问题,比如环境变量配置、依赖项安装、ROS包路径问题等。</think>针对PX4 SITL构建过程中因权限问题导致的失败,请按以下步骤排查和解决: ### 一、权限问题核心解决方案 1. **清理临时文件** 执行`sudo rm /tmp/px4_lock-*`删除残留锁文件[^1],避免因root用户创建的锁文件导致普通用户无权限访问 2. **重置构建目录所有权** ```bash sudo chown -R $USER:$USER ~/catkin_ws/ # 修复工作空间权限 sudo chown -R $USER:$USER ~/PX4_Firmware/ # 修复固件目录权限 ``` 3. **禁用sudo构建** ▸ 始终以普通用户身份执行构建命令 ▸ 错误示例:`sudo make px4_sitl gazebo`会导致生成root权限文件[^3] ▸ 正确命令:`make px4_sitl_default gazebo` ### 二、环境配置验证 ```bash # 检查关键环境变量 echo $PATH | grep -i "px4\|ros" echo $CMAKE_PREFIX_PATH # 更新子模块(必须步骤) cd ~/PX4_Firmware git submodule update --init --recursive # 引用[2]关键步骤 ``` ### 三、构建流程修复 1. **完整重建步骤**: ```bash make clean rm -rf build/ make px4_sitl_default # 先构建默认配置 ``` 2. **处理ninja报错**: ```bash # 当出现ninja: build stopped: subcommand failed时 pip3 install --user pyserial empy toml numpy pandas jinja2 # 补充Python依赖 ``` ### 四、ROS集成配置 1. **修复launch文件路径**: ```bash # 确保PX4路径在ROS搜索路径中 echo "export ROS_PACKAGE_PATH=$ROS_PACKAGE_PATH:~/PX4_Firmware" >> ~/.bashrc source ~/.bashrc ``` 2. **启动文件权限修正**: ```bash chmod +x ~/PX4_Firmware/Tools/sitl_run.sh # 赋予执行权限 ``` ### 五、典型错误对照表 | 错误现象 | 解决方案 | |---------|---------| | `permission denied @ rb_sysopen` | 执行`sudo chmod -R a+rw /opt/ros/` | | `RLException: [xx.launch] not found` | 重新执行`catkin_make`并source环境[^2] | | `ninja: build stopped` | 检查ROMFS提取日志`build/CMakeFiles/romfs.dir/build.make` |
阅读全文

相关推荐

ubuntu@ubuntu:~/PX4_Firmware$ make px4_sitl_default gazebo [119/656] Performing configure step for 'sitl_gazebo' -- install-prefix: /usr/local -- Using C++17 compiler CMake Error at CMakeLists.txt:32 (find_package): By not providing "Findgazebo.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "gazebo", but CMake did not find one. Could not find a package configuration file provided by "gazebo" with any of the following names: gazeboConfig.cmake gazebo-config.cmake Add the installation prefix of "gazebo" to CMAKE_PREFIX_PATH or set "gazebo_DIR" to a directory containing one of the above files. If "gazebo" provides a separate development package or SDK, be sure it has been installed. -- Configuring incomplete, errors occurred! See also "/home/ubuntu/PX4_Firmware/build/px4_sitl_default/build_gazebo/CMakeFiles/CMakeOutput.log". See also "/home/ubuntu/PX4_Firmware/build/px4_sitl_default/build_gazebo/CMakeFiles/CMakeError.log". [132/656] Building CXX object src/lib/...les/cdev.dir/posix/cdev_platform.cpp.o FAILED: external/Stamp/sitl_gazebo/sitl_gazebo-configure cd /home/ubuntu/PX4_Firmware/build/px4_sitl_default/build_gazebo && /usr/local/bin/cmake -DCMAKE_INSTALL_PREFIX=/usr/local -DSEND_VISION_ESTIMATION_DATA=ON -GNinja /home/ubuntu/PX4_Firmware/Tools/sitl_gazebo && /usr/local/bin/cmake -E touch /home/ubuntu/PX4_Firmware/build/px4_sitl_default/external/Stamp/sitl_gazebo/sitl_gazebo-configure [142/656] Building CXX object src/lib/...les/cdev.dir/posix/cdev_platform.cpp.o ninja: build stopped: subcommand failed. Makefile:198: recipe for target 'px4_sitl_default' failed make: *** [px4_sitl_default] Error 1

-- Build files have been written to: /root/Workspace/openpose/build/caffe/src/openpose_lib-build [ 75%] Performing build step for 'openpose_lib' [ 1%] Running C++/Python protocol buffer compiler on /root/Workspace/openpose/3rdparty/caffe/src/caffe/proto/caffe.proto [ 1%] Building CXX object src/caffe/CMakeFiles/caffeproto.dir/__/__/include/caffe/proto/caffe.pb.cc.o [ 1%] Linking CXX static library ../../lib/libcaffeproto.a [ 1%] Built target caffeproto [ 1%] Building NVCC (Device) object src/caffe/CMakeFiles/cuda_compile_1.dir/util/cuda_compile_1_generated_math_functions.cu.o [ 1%] Building NVCC (Device) object src/caffe/CMakeFiles/cuda_compile_1.dir/layers/cuda_compile_1_generated_absval_layer.cu.o [ 2%] Building NVCC (Device) object src/caffe/CMakeFiles/cuda_compile_1.dir/layers/cuda_compile_1_generated_base_data_layer.cu.o [ 2%] Building NVCC (Device) object src/caffe/CMakeFiles/cuda_compile_1.dir/layers/cuda_compile_1_generated_accuracy_layer.cu.o [ 2%] Building NVCC (Device) object src/caffe/CMakeFiles/cuda_compile_1.dir/layers/cuda_compile_1_generated_batch_norm_layer.cu.o [ 2%] Building NVCC (Device) object src/caffe/CMakeFiles/cuda_compile_1.dir/layers/cuda_compile_1_generated_batch_reindex_layer.cu.o [ 4%] Building NVCC (Device) object src/caffe/CMakeFiles/cuda_compile_1.dir/layers/cuda_compile_1_generated_bnll_layer.cu.o [ 4%] Building NVCC (Device) object src/caffe/CMakeFiles/cuda_compile_1.dir/layers/cuda_compile_1_generated_bias_layer.cu.o In file included from /root/Workspace/openpose/3rdparty/caffe/src/caffe/util/math_functions.cu:1: /usr/local/cuda-11.8/include/math_functions.h:54:2: warning: #warning "math_functions.h is an internal header file and must not be used directly. This file will be removed in a future CUDA release. Please use cuda_runtime_api.h or cuda_runtime.h instead." [-Wcpp] 54 | #warning "math_functions.h is an internal header file and must not be used directly. This file will be removed in a future CUDA release.

ubuntu@ubuntu:~/PX4_Firmware$ make px4_sitl_default gazebo [0/6] Performing configure step for 'sitl_gazebo' -- install-prefix: /usr/local -- Using C++17 compiler -- Found Boost: /usr/include (found suitable version "1.65.1", minimum required is "1.58") found components: system thread filesystem chrono date_time atomic CMake Warning (dev) at /usr/share/cmake-3.25/Modules/FindPackageHandleStandardArgs.cmake:438 (message): The package name passed to find_package_handle_standard_args (PkgConfig) does not match the name of the calling package (gazebo). This can lead to problems in calling code that expects find_package result variables (e.g., _FOUND) to follow a certain pattern. Call Stack (most recent call first): /usr/share/cmake-3.25/Modules/FindPkgConfig.cmake:99 (find_package_handle_standard_args) /usr/lib/x86_64-linux-gnu/cmake/gazebo/gazebo-config.cmake:30 (include) CMakeLists.txt:32 (find_package) This warning is for project developers. Use -Wno-dev to suppress it. -- Found Boost: /usr/include (found suitable version "1.65.1", minimum required is "1.40.0") found components: thread system filesystem program_options regex iostreams date_time chrono atomic -- Found Protobuf: /usr/lib/x86_64-linux-gnu/libprotobuf.so;-lpthread (found version "3.0.0") -- Found Boost: /usr/include (found version "1.65.1") -- Looking for OGRE... -- Found Ogre Ghadamon (1.9.0) -- Found OGRE: optimized;/usr/lib/x86_64-linux-gnu/libOgreMain.so;debug;/usr/lib/x86_64-linux-gnu/libOgreMain.so -- Looking for OGRE_Paging... -- Found OGRE_Paging: optimized;/usr/lib/x86_64-linux-gnu/libOgrePaging.so;debug;/usr/lib/x86_64-linux-gnu/libOgrePaging.so -- Looking for OGRE_Terrain... -- Found OGRE_Terrain: optimized;/usr/lib/x86_64-linux-gnu/libOgreTerrain.so;debug;/usr/lib/x86_64-linux-gnu/libOgreTerrain.so -- Looking for OGRE_Property... -- Found OGRE_Property: optimized;/usr/lib/x86_64-linux-gnu/libOgreProperty.so;debug;/usr/lib/x86_64-linux-gnu/libOgreProperty.so -- Look

* 正在执行任务: e:\esp32\ESP-IDF\5.2.3\Espressif\tools\ninja\1.11.1\ninja.exe [1/11] Performing build step for 'bootloader' [1/1] cmd.exe /C "cd /D E:\esp32\project\caogao\lcd-3\build\bootloader\esp-idf\esptool_py && e:\esp32\ESP-IDF\5.2.3\Espressif\python_env\idf5.2_py3.11_env\Scripts\python.exe E:/esp32/ESP-IDF/5.2.3/Espressif/frameworks/esp-idf-v5.2.3/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x0 E:/esp32/project/caogao/lcd-3/build/bootloader/bootloader.bin" Bootloader binary size 0x5a30 bytes. 0x25d0 bytes (30%) free. [2/9] Building C object esp-idf/wifi_scan/CMakeFiles/__idf_wifi_scan.dir/wifiscan.c.obj In file included from E:/esp32/ESP-IDF/5.2.3/Espressif/frameworks/esp-idf-v5.2.3/components/nvs_flash/include/nvs.h:13, from E:/esp32/ESP-IDF/5.2.3/Espressif/frameworks/esp-idf-v5.2.3/components/nvs_flash/include/nvs_flash.h:13, from E:/esp32/project/caogao/lcd-3/components/wifi_scan/wifiscan.h:8, from E:/esp32/project/caogao/lcd-3/components/wifi_scan/wifiscan.c:1: E:/esp32/project/caogao/lcd-3/components/wifi_scan/wifiscan.c: In function 'wifi_my_connect_task': E:/esp32/project/caogao/lcd-3/components/wifi_scan/wifiscan.c:229:60: warning: passing argument 2 of 'esp_wifi_set_config' from incompatible pointer type [-Wincompatible-pointer-types] 229 | ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA,&wifi_config)); | ^~~~~~~~~~~~ | | | wifi_init_config_t * E:/esp32/ESP-IDF/5.2.3/Espressif/frameworks/esp-idf-v5.2.3/components/esp_common/include/esp_err.h:117:30: note: in definition of macro 'ESP_ERROR_CHECK' 117 | esp_err_t err_rc_ = (x); \ | ^ In file included from E:/esp32/project/caogao/lcd-3/components/wifi_scan/wifiscan.h:9: E:/esp32/ESP-IDF/5.2.3/Espressif/frameworks/esp-idf-v5.2.3/components/esp_wifi/include/esp_wifi.h:918:74: note: expected 'wifi_config_t *' but argument is of type 'wifi_init_config_t *' 918 | esp_err_t esp_wifi_set_config(wifi_interface_t interface, wifi_config_t *conf); | ~~~~~~~~~~~~~~~^~~~ E:/esp32/project/caogao/lcd-3/components/wifi_scan/wifiscan.c:239:20: warning: unused variable 'ux_wifi_start_BIT' [-Wunused-variable] 239 | EventBits_t ux_wifi_start_BIT = xEventGroupWaitBits( | ^~~~~~~~~~~~~~~~~ E:/esp32/project/caogao/lcd-3/components/wifi_scan/wifiscan.c:196:17: warning: unused variable 'ux_wifi_init_BIT' [-Wunused-variable] 196 | EventBits_t ux_wifi_init_BIT = xEventGroupWaitBits( | ^~~~~~~~~~~~~~~~ E:/esp32/project/caogao/lcd-3/components/wifi_scan/wifiscan.h: At top level: E:/esp32/project/caogao/lcd-3/components/wifi_scan/wifiscan.h:65:12: warning: 'wifi_connect_readystate' defined but not used [-Wunused-variable] 65 | static int wifi_connect_readystate=0; | ^~~~~~~~~~~~~~~~~~~~~~~ [4/9] Building C object esp-idf/main/CMakeFiles/__idf_main.dir/main.c.obj E:/esp32/project/caogao/lcd-3/main/main.c: In function 'password_callback': E:/esp32/project/caogao/lcd-3/main/main.c:446:21: warning: initialization discards 'const' qualifier from pointer target type [-Wdiscarded-qualifiers] 446 | char * password=lv_textarea_get_text(ui_TextArea1); | ^~~~~~~~~~~~~~~~~~~~ E:/esp32/project/caogao/lcd-3/main/main.c: At top level: E:/esp32/project/caogao/lcd-3/main/main.c:272:13: warning: 'app_main_display' defined but not used [-Wunused-function] 272 | static void app_main_display(void) | ^~~~~~~~~~~~~~~~

[1/9] Performing build step for 'bootloader' [1/1] cmd.exe /C "cd /D E:\esp32\project\caogao\lcd-3\build\bootloader\esp-idf\esptool_py && e:\esp32\ESP-IDF\5.2.3\Espressif\python_env\idf5.2_py3.11_env\Scripts\python.exe E:/esp32/ESP-IDF/5.2.3/Espressif/frameworks/esp-idf-v5.2.3/components/partition_table/check_sizes.py --offset 0x8000 bootloader 0x0 E:/esp32/project/caogao/lcd-3/build/bootloader/bootloader.bin" Bootloader binary size 0x5a30 bytes. 0x25d0 bytes (30%) free. [2/7] Building C object esp-idf/wifi_scan/CMakeFiles/__idf_wifi_scan.dir/wifiscan.c.obj In file included from E:/esp32/ESP-IDF/5.2.3/Espressif/frameworks/esp-idf-v5.2.3/components/nvs_flash/include/nvs.h:13, from E:/esp32/ESP-IDF/5.2.3/Espressif/frameworks/esp-idf-v5.2.3/components/nvs_flash/include/nvs_flash.h:13, from E:/esp32/project/caogao/lcd-3/components/wifi_scan/wifiscan.h:8, from E:/esp32/project/caogao/lcd-3/components/wifi_scan/wifiscan.c:1: E:/esp32/project/caogao/lcd-3/components/wifi_scan/wifiscan.c: In function 'wifi_my_connect_task': E:/esp32/project/caogao/lcd-3/components/wifi_scan/wifiscan.c:229:60: warning: passing argument 2 of 'esp_wifi_set_config' from incompatible pointer type [-Wincompatible-pointer-types] 229 | ESP_ERROR_CHECK(esp_wifi_set_config(ESP_IF_WIFI_STA,&wifi_config)); | ^~~~~~~~~~~~ | | | wifi_init_config_t * E:/esp32/ESP-IDF/5.2.3/Espressif/frameworks/esp-idf-v5.2.3/components/esp_common/include/esp_err.h:117:30: note: in definition of macro 'ESP_ERROR_CHECK' 117 | esp_err_t err_rc_ = (x); \ | ^ In file included from E:/esp32/project/caogao/lcd-3/components/wifi_scan/wifiscan.h:9: E:/esp32/ESP-IDF/5.2.3/Espressif/frameworks/esp-idf-v5.2.3/components/esp_wifi/include/esp_wifi.h:918:74: note: expected 'wifi_config_t *' but argument is of type 'wifi_init_config_t *' 918 | esp_err_t esp_wifi_set_config(wifi_interface_t interface, wifi_config_t *conf); | ~~~~~~~~~~~~~~~^~~~ E:/esp32/project/caogao/lcd-3/components/wifi_scan/wifiscan.c:237:20: warning: unused variable 'ux_wifi_start_BIT' [-Wunused-variable] 237 | EventBits_t ux_wifi_start_BIT = xEventGroupWaitBits( | ^~~~~~~~~~~~~~~~~ E:/esp32/project/caogao/lcd-3/components/wifi_scan/wifiscan.c:196:17: warning: unused variable 'ux_wifi_init_BIT' [-Wunused-variable] 196 | EventBits_t ux_wifi_init_BIT = xEventGroupWaitBits( | ^~~~~~~~~~~~~~~~ E:/esp32/project/caogao/lcd-3/components/wifi_scan/wifiscan.h: At top level: E:/esp32/project/caogao/lcd-3/components/wifi_scan/wifiscan.h:65:12: warning: 'wifi_connect_readystate' defined but not used [-Wunused-variable] 65 | static int wifi_connect_readystate=0; | ^~~~~~~~~~~~~~~~~~~~~~~

ubuntu@ubuntu:~/PX4_Firmware$ make px4_sitl_default gazebo [0/724] git submodule Tools/sitl_gazebo [6/724] Performing configure step for 'sitl_gazebo' -- install-prefix: /usr/local -- The C compiler identification is GNU 7.5.0 -- The CXX compiler identification is GNU 7.5.0 -- Check for working C compiler: /usr/bin/cc -- Check for working C compiler: /usr/bin/cc -- works -- Detecting C compiler ABI info -- Detecting C compiler ABI info - done -- Detecting C compile features -- Detecting C compile features - done -- Check for working CXX compiler: /usr/bin/c++ -- Check for working CXX compiler: /usr/bin/c++ -- works -- Detecting CXX compiler ABI info -- Detecting CXX compiler ABI info - done -- Detecting CXX compile features -- Detecting CXX compile features - done -- Performing Test COMPILER_SUPPORTS_CXX17 -- Performing Test COMPILER_SUPPORTS_CXX17 - Success -- Performing Test COMPILER_SUPPORTS_CXX14 -- Performing Test COMPILER_SUPPORTS_CXX14 - Success -- Performing Test COMPILER_SUPPORTS_CXX11 -- Performing Test COMPILER_SUPPORTS_CXX11 - Success -- Performing Test COMPILER_SUPPORTS_CXX0X -- Performing Test COMPILER_SUPPORTS_CXX0X - Success -- Using C++17 compiler -- Looking for pthread.h -- Looking for pthread.h - found -- Performing Test CMAKE_HAVE_LIBC_PTHREAD -- Performing Test CMAKE_HAVE_LIBC_PTHREAD - Failed -- Looking for pthread_create in pthreads -- Looking for pthread_create in pthreads - not found -- Looking for pthread_create in pthread -- Looking for pthread_create in pthread - found -- Found Threads: TRUE -- Found Boost: /usr/include (found suitable version "1.65.1", minimum required is "1.58") found components: system thread filesystem chrono date_time atomic CMake Error at CMakeLists.txt:32 (find_package): By not providing "Findgazebo.cmake" in CMAKE_MODULE_PATH this project has asked CMake to find a package configuration file provided by "gazebo", but CMake did not find one. Could not find a package configuration file provided by "gazebo

ubuntu@ubuntu:~/opencv-4.10.0/build$ cmake -D CMAKE_BUILD_TYPE=RELEASE \ > -D CMAKE_INSTALL_PREFIX=/usr/local \ > -D WITH_CUDA=ON \ > -D CUDA_ARCH_BIN=8.7 \ > -D ENABLE_FAST_MATH=ON \ > -D WITH_CUDNN=ON \ > -D WITH_CUBLAS=ON \ > -D OPENCV_DNN_CUDA=ON \ > -D WITH_OPENMP=ON \ > -D BUILD_opencv_python3=ON \ > .. -- ocv_init_download: OpenCV source tree is not fetched as git repository. 3rdparty resources will be downloaded from github.com by default. -- Detected processor: aarch64 -- Looking for ccache - not found -- Performing Test HAVE_CXX_FFAST_MATH -- Performing Test HAVE_CXX_FFAST_MATH - Success -- Performing Test HAVE_C_FFAST_MATH -- Performing Test HAVE_C_FFAST_MATH - Success -- Performing Test HAVE_CXX_FNO_FINITE_MATH_ONLY -- Performing Test HAVE_CXX_FNO_FINITE_MATH_ONLY - Success -- Performing Test HAVE_C_FNO_FINITE_MATH_ONLY -- Performing Test HAVE_C_FNO_FINITE_MATH_ONLY - Success -- Performing Test HAVE_CPU_BASELINE_FLAGS -- Performing Test HAVE_CPU_BASELINE_FLAGS - Success -- Performing Test HAVE_CPU_DISPATCH_FLAGS_NEON_DOTPROD -- Performing Test HAVE_CPU_DISPATCH_FLAGS_NEON_DOTPROD - Success -- Performing Test HAVE_CPU_DISPATCH_FLAGS_NEON_FP16 -- Performing Test HAVE_CPU_DISPATCH_FLAGS_NEON_FP16 - Success -- Performing Test HAVE_CPU_DISPATCH_FLAGS_NEON_BF16 -- Performing Test HAVE_CPU_DISPATCH_FLAGS_NEON_BF16 - Success -- Found OpenMP_C: -fopenmp (found version "4.5") -- Found OpenMP_CXX: -fopenmp (found version "4.5") -- Found OpenMP: TRUE (found version "4.5") Cleaning INTERNAL cached variable: WEBP_LIBRARY Cleaning INTERNAL cached variable: WEBP_INCLUDE_DIR -- Could NOT find OpenJPEG (minimal suitable version: 2.0, recommended version >= 2.3.1). OpenJPEG will be built from sources -- OpenJPEG: VERSION = 2.5.0, BUILD = opencv-4.10.0-openjp2-2.5.0 -- OpenJPEG libraries will be built from sources: libopenjp2 (version "2.5.0") CMake Error at /usr/share/cmake-3.22/Modules/FindCUDA.cmake:850 (string): string sub-command REGEX, mode REPLACE needs at leas

ubuntu@ubuntu:~/opencv-4.10.0/build$ cmake -D CMAKE_BUILD_TYPE=Release \ -D CMAKE_INSTALL_PREFIX=/usr/local \ -D OPENCV_EXTRA_MODULES_PATH=/path/to/opencv_contrib/modules \ -D WITH_CUDA=ON \ .. -- The CXX compiler identification is GNU 11.4.0 -- The C compiler identification is GNU 11.4.0 -- 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 -- 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 -- ocv_init_download: OpenCV source tree is not fetched as git repository. 3rdparty resources will be downloaded from github.com by default. -- Detected processor: aarch64 -- Found PythonInterp: /usr/bin/python3 (found suitable version "3.10.12", minimum required is "3.2") -- Found PythonLibs: /usr/lib/aarch64-linux-gnu/libpython3.10.so (found suitable exact version "3.10.12") -- Looking for ccache - not found -- Performing Test HAVE_CXX_FSIGNED_CHAR -- Performing Test HAVE_CXX_FSIGNED_CHAR - Success -- Performing Test HAVE_C_FSIGNED_CHAR -- Performing Test HAVE_C_FSIGNED_CHAR - Success -- Performing Test HAVE_CXX_W -- Performing Test HAVE_CXX_W - Success -- Performing Test HAVE_C_W -- Performing Test HAVE_C_W - Success -- Performing Test HAVE_CXX_WALL -- Performing Test HAVE_CXX_WALL - Success -- Performing Test HAVE_C_WALL -- Performing Test HAVE_C_WALL - Success -- Performing Test HAVE_CXX_WRETURN_TYPE -- Performing Test HAVE_CXX_WRETURN_TYPE - Success -- Performing Test HAVE_C_WRETURN_TYPE -- Performing Test HAVE_C_WRETURN_TYPE - Success -- Performing Test HAVE_CXX_WNON_VIRTUAL_DTOR -- Performing Test HAVE_CXX_WNON_VIRTUAL_DTOR - Success -- Performing Test HAVE_C_WNON_VIRTUAL_DTOR -- Performing Test HAVE_C_WNON_VIRTUAL_DTOR - Failed -- Performing Test

15:58:08: 为项目CTK执行步骤 ... 15:58:08: Persisting CMake state... 15:58:19: 正在启动 "D:\BaiduNetdiskDownload\cmake-3.16.0-win64-x64\bin\cmake.exe" --build . --target all Scanning dependencies of target Log4Qt [ 4%] Creating directories for 'Log4Qt' [ 8%] Performing download step (git clone) for 'Log4Qt' Cloning into 'Log4Qt'... fatal: unable to access 'https://github.com/MEONMedical/Log4Qt.git/': OpenSSL SSL_read: Connection was reset, errno 10054 Cloning into 'Log4Qt'... fatal: unable to access 'https://github.com/MEONMedical/Log4Qt.git/': OpenSSL SSL_read: Connection was reset, errno 10054 Cloning into 'Log4Qt'... fatal: unable to access 'https://github.com/MEONMedical/Log4Qt.git/': Failed to connect to github.com port 443: Timed out -- Had to git clone more than once: 3 times. CMake Error at Log4Qt-cmake/tmp/Log4Qt-gitclone.cmake:31 (message): Failed to clone repository: 'https://github.com/MEONMedical/Log4Qt.git' NMAKE : fatal error U1077: “D:\BaiduNetdiskDownload\cmake-3.16.0-win64-x64\bin\cmake.exe”: 返回代码“0x1” Stop. NMAKE : fatal error U1077: “"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\nmake.exe"”: 返回代码“0x2” Stop. NMAKE : fatal error U1077: “"C:\Program Files (x86)\Microsoft Visual Studio 14.0\VC\BIN\amd64\nmake.exe"”: 返回代码“0x2” Stop. 15:59:23: 进程"D:\BaiduNetdiskDownload\cmake-3.16.0-win64-x64\bin\cmake.exe"退出,退出代码 2 。 Error while building/deploying project CTK (kit: cmake-3.16.0) The kit cmake-3.16.0 has configuration issues which might be the root cause for this problem. When executing step "CMake Build"

ubuntu@ubuntu:~/PX4_Firmware$ make px4_sitl_default gazebo -- PX4 version: v1.11.0-beta1 -- PX4 config file: /home/ubuntu/PX4_Firmware/boards/px4/sitl/default.cmake -- PX4 config: px4_sitl_default -- PX4 platform: posix -- PX4 lockstep: enabled -- cmake build type: RelWithDebInfo -- The CXX compiler identification is GNU 7.5.0 -- The C compiler identification is GNU 7.5.0 -- The ASM compiler identification is GNU -- Found assembler: /usr/bin/cc -- 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 -- 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 -- Building for code coverage -- Found PythonInterp: /usr/bin/python3 (found suitable version "3.6.9", minimum required is "3") -- build type is RelWithDebInfo -- PX4 ECL: Very lightweight Estimation & Control Library v1.9.0-rc1-255-g47624a0 -- Configuring done -- Generating done -- Build files have been written to: /home/ubuntu/PX4_Firmware/build/px4_sitl_default [0/740] git submodule src/drivers/gps/devices [8/740] git submodule src/lib/ecl [11/740] git submodule mavlink/include/mavlink/v2.0 [13/740] git submodule Tools/sitl_gazebo [19/740] Performing configure step for 'sitl_gazebo' -- install-prefix: /usr/local -- The C compiler identification is GNU 7.5.0 -- The CXX compiler identification is GNU 7.5.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 -- Performing T

INFO: Connected Mar 20, 2025 7:34:50 PM hudson.remoting.UserRequest perform WARNING: LinkageError while performing UserRequest:hudson.slaves.SlaveComputer$SlaveVersion@df1459d java.lang.UnsupportedClassVersionError: Failed to load hudson.slaves.SlaveComputer$SlaveVersion at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:472) at hudson.remoting.RemoteClassLoader.loadRemoteClass(RemoteClassLoader.java:301) at hudson.remoting.RemoteClassLoader.loadWithMultiClassLoader(RemoteClassLoader.java:277) at hudson.remoting.RemoteClassLoader.findClass(RemoteClassLoader.java:236) at java.base/java.lang.ClassLoader.loadClass(Unknown Source) at java.base/java.lang.ClassLoader.loadClass(Unknown Source) at java.base/java.lang.Class.forName0(Native Method) at java.base/java.lang.Class.forName(Unknown Source) at hudson.remoting.MultiClassLoaderSerializer$Input.resolveClass(MultiClassLoaderSerializer.java:133) at java.base/java.io.ObjectInputStream.readNonProxyDesc(Unknown Source) at java.base/java.io.ObjectInputStream.readClassDesc(Unknown Source) at java.base/java.io.ObjectInputStream.readOrdinaryObject(Unknown Source) at java.base/java.io.ObjectInputStream.readObject0(Unknown Source) at java.base/java.io.ObjectInputStream.readObject(Unknown Source) at java.base/java.io.ObjectInputStream.readObject(Unknown Source) at hudson.remoting.UserRequest.deserialize(UserRequest.java:312) at hudson.remoting.UserRequest.perform(UserRequest.java:196) at hudson.remoting.UserRequest.perform(UserRequest.java:50) at hudson.remoting.Request$2.run(Request.java:391) at hudson.remoting.InterceptingExecutorService.lambda$wrap$0(InterceptingExecutorService.java:81) at java.base/java.util.concurrent.FutureTask.run(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor.runWorker(Unknown Source) at java.base/java.util.concurrent.ThreadPoolExecutor$Worker.run(Unknown Source) at hudson.remoting.Engine$1.lambda$newThread$0(Engine.java:140) at java.base/java.lang.Thread.run(Unknown Source) Caused by: java.lang.UnsupportedClassVersionError: hudson/slaves/SlaveComputer$SlaveVersion has been compiled by a more recent version of the Java Runtime (class file version 61.0), this version of the Java Runtime only recognizes class file versions up to 55.0 at java.base/java.lang.ClassLoader.defineClass1(Native Method) at java.base/java.lang.ClassLoader.defineClass(Unknown Source) at java.base/java.lang.ClassLoader.defineClass(Unknown Source) at hudson.remoting.RemoteClassLoader.loadClassFile(RemoteClassLoader.java:470) ... 24 more Mar 20, 2025 7:34:50 PM hudson.remoting.Launcher$CuiListener status INFO: Terminated

最新推荐

recommend-type

Linux入门上机实操.ppt

Linux入门上机实操.ppt
recommend-type

javaEE学生专业课程设计成绩评估系统.doc

javaEE学生专业课程设计成绩评估系统.doc
recommend-type

Javaweb实训总结报告.docx

Javaweb实训总结报告.docx
recommend-type

基于单片机的CO浓度检测及报警系统设计与制作.doc

基于单片机的CO浓度检测及报警系统设计与制作.doc
recommend-type

excel典型试题操作步骤.doc

excel典型试题操作步骤.doc
recommend-type

吉林大学Windows程序设计课件自学指南

### Windows程序设计基础 Windows程序设计是计算机科学中的一个重要领域,它涉及到在Windows操作系统上创建应用程序的知识和技能。它不仅包括编写代码的技巧,还包括了理解操作系统运行程序的方式、事件驱动编程概念以及图形用户界面(GUI)的设计。 ### 吉林大学计算机专业课件概述 吉林大学提供的计算机专业课件,标题为“Windows程序设计”,是一个专为初学者设计的自学材料。通过这份课件,初学者将能够掌握Windows环境下编程的基本概念和实践技能,这对于未来深入学习更高级的编程知识及从事软件开发工作都是非常有帮助的。 ### 关键知识点解析 #### 第一讲:WINDOWS程序设计 本讲主要是对Windows程序设计做一个基本的介绍,涵盖了Windows应用程序的运行环境和特性。课程会介绍Windows操作系统对程序设计的支持,包括API(应用程序编程接口)的使用,以及如何创建一个基本的Windows应用程序。此外,还会涉及程序设计的基本原则,如消息驱动和事件驱动编程。 #### 第二讲:输出文本与绘图 在本讲中,将介绍Windows程序中如何进行文本输出和基本图形绘制。这部分知识会涉及GDI(图形设备接口)的使用,包括字体管理、颜色设置和各种绘图函数。对于初学者来说,理解这些基本的图形绘制方法对于创建美观的应用程序界面至关重要。 #### 第三讲:键盘 键盘输入是用户与应用程序交互的重要方式之一。本讲将解释Windows程序如何接收和处理键盘事件,包括键盘按键的响应机制、快捷键的设置和文本输入处理等。掌握这部分知识对于实现用户友好界面和交互逻辑至关重要。 #### 第四讲:鼠标 鼠标操作同样是Windows应用程序中不可或缺的一部分。此讲将讲解如何处理鼠标事件,例如鼠标点击、双击、移动和滚轮事件等。还会包括如何在程序中实现拖放功能、鼠标光标的自定义显示以及鼠标的高级使用技巧。 #### 第五讲:定时器消息 定时器是Windows程序中非常重要的组件,用于实现时间控制相关的功能。本讲将介绍如何在Windows程序中使用定时器消息,包括创建、管理定时器,以及定时器消息的处理和应用场景。通过这部分内容,学习者可以掌握如何在程序中实现定时执行任务等。 #### 第六讲:子窗口控制 子窗口是构成复杂Windows应用程序界面的基本元素。在本讲中,将介绍如何创建和控制子窗口,包括子窗口的创建、移动、大小调整和窗口消息处理。这将帮助初学者理解主窗口与子窗口之间的关系,以及如何通过子窗口来构建丰富的用户界面。 #### 第七讲:资源 资源是应用程序中使用的非代码数据,如图标、菜单、对话框模板等。在本讲中,将介绍如何在Windows程序中使用和管理这些资源。通过学习资源文件的创建和编辑,学习者可以为程序添加视觉元素,使得应用程序更加丰富多彩。 #### 第八讲:对话框 对话框是Windows应用程序中常见的用户交互方式。本讲将介绍对话框的概念、类型和使用方法,包括标准对话框和自定义对话框的创建和事件处理。掌握对话框的设计和使用可以让程序具有更好的用户体验。 ### 总结 以上就是根据吉林大学计算机专业课件“Windows程序设计”中提供的各讲内容提炼出的关键知识点。该课件内容详实,覆盖了从基础到高级的各项内容,非常适合初学者按部就班地学习Windows程序设计。学习者通过逐步掌握这些知识点,将能够独立设计和开发出具有完整功能的Windows应用程序。
recommend-type

STM32F10x ADC_DAC转换实战:精确数据采集与输出处理

# 摘要 STM32F10x系列微控制器广泛应用于嵌入式系统中,其中的ADC和DAC转换功能对于精确模拟信号的处理至关重要。本文首先介绍了STM32F10x的ADCDAC转换基础知识,详细解释了ADC转换的理论、硬件配置、提升精度的策略,以及DAC转换技术的基础和硬件架构。随后,文章深入探讨了ADCDAC在实际应用中的规划、数据采集、输出处理以及优化
recommend-type

麒麟系统编译动态库

<think>首先,用户的问题是:“我想在麒麟系统上编译动态库的方法或教程请问如何在麒麟操作系统上编译动态链接库”。所以,我需要提供在麒麟操作系统上编译动态链接库的步骤。参考系统指令:-所有行内数学表达式使用$...$格式。-独立公式使用$$...$$并单独成段。-LaTeX语法正确。-使用中文回答。-生成相关问题。-在回答中引用的段落末尾添加引用标识。用户可见层:-回答结构清晰,帮助用户逐步解决问题。-保证回答真实可靠。从引用中提取相关信息:-引用[1]:麒麟系统版本是kylin4.0.2,gcc版本是5.4.0,jdk版本是1.8.0_265。-引用[2]:在Linux下编译动态链接库,使
recommend-type

Struts框架中ActionForm与实体对象的结合使用

在深入讨论知识点之前,首先要明确一点,struts框架是Java的一个开源Web应用程序框架,用于简化基于MVC(Model-View-Controller)设计模式的Web应用程序的开发。而ActionForm则是Struts框架中的一个组件,它充当MVC设计模式中的Model(模型)和View(视图)之间的桥梁,主要用于封装用户输入的数据,并将这些数据传递给业务逻辑层进行处理。 知识点一:Struts框架基础 Struts框架使用一个中央控制器(ActionServlet)来接收所有的用户请求,并根据配置的映射规则(struts-config.xml)将请求转发给相应的Action类进行处理。Action类作为控制器(Controller),负责处理请求并调用业务逻辑。Action类处理完业务逻辑后,会根据处理结果将控制权转交给不同的JSP页面。 知识点二:ActionForm的使用 ActionForm通常用于封装来自用户界面的数据,这些数据被存储在表单中,并通过HTTP请求提交。在Struts中,每个表单对应一个ActionForm子类的实例。当ActionServlet接收到一个请求时,它会负责创建或查找相应的ActionForm对象,然后使用请求中的数据填充ActionForm对象。 知识点三:在ActionForm中使用实体对象 在实际应用中,表单数据通常映射到后端业务对象的属性。因此,为了更有效地处理复杂的数据,我们可以在ActionForm中嵌入Java实体对象。实体对象可以是一个普通的Java Bean,它封装了业务数据的属性和操作这些属性的getter和setter方法。将实体对象引入ActionForm中,可以使得业务逻辑更加清晰,数据处理更加方便。 知识点四:Struts表单验证 Struts提供了一种机制来验证ActionForm中的数据。开发者可以在ActionForm中实现validate()方法,用于对数据进行校验。校验失败时,Struts框架可以将错误信息存储在ActionMessages或ActionErrors对象中,并重新显示表单页面,同时提供错误提示。 知识点五:整合ActionForm与业务逻辑 ActionForm通常被设计为轻量级的,主要负责数据的接收与传递。真正的业务逻辑处理应该在Action类中完成。当ActionForm对象被创建并填充数据之后,Action对象可以调用ActionForm对象来获取所需的数据,然后进行业务逻辑处理。处理完成后的结果将用于选择下一个视图。 知识点六:Struts配置文件 Struts的配置文件struts-config.xml定义了ActionForm、Action、JSP页面和全局转发等组件之间的映射关系。开发者需要在struts-config.xml中配置相应的ActionForm类、Action类以及它们之间的映射关系。配置文件还包含了数据源、消息资源和插件的配置。 知识点七:Struts与MVC设计模式 Struts遵循MVC设计模式,其中ActionServlet充当控制器的角色,负责接收和分派请求。ActionForm承担部分Model和View的职责,存储视图数据并传递给Action。Action类作为控制器,负责处理业务逻辑并返回处理结果,最终Action类会指定要返回的视图(JSP页面)。 知识点八:Struts框架的更新与维护 Struts框架自推出以来,经历了多次更新。Struts 2是该框架的一个重大更新,它引入了拦截器(Interceptor)的概念,提供了更为灵活的处理机制。开发者在使用Struts时,应该关注框架的版本更新,了解新版本中提供的新特性与改进,并根据项目需求决定是否迁移到新版本。 知识点九:Java Web开发社区和资源 开发者在学习和使用Struts框架时,可以利用社区资源获得帮助。通过社区论坛、问答网站(例如Stack Overflow)、在线教程、博客以及官方文档等多种途径,开发者可以获取最新的信息、学习案例、解决遇到的问题,以及了解最佳实践。 知识点十:邮件和QQ交流方式 在本次提供的描述中,作者提供了自己的QQ号码和电子邮件地址,表明作者愿意通过这两种方式进行交流和获取反馈。QQ和电子邮件是中文开发者常用的交流方式,有助于获得及时的技术支持和代码评审,也方便了社区中的中文用户进行交流。 结合上述知识点,我们可以了解到Struts框架在使用ActionForm中集成实体对象时的一些关键操作和设计原则。开发者通过合理地设计ActionForm和Action类,以及妥善地利用Struts提供的配置和验证机制,可以开发出结构清晰、易于维护的Web应用程序。同时,通过社区资源和交流工具,可以有效地提高开发效率,不断完善自己的技术栈。
recommend-type

STM32F10x定时器应用精讲:掌握基本使用与高级特性

# 摘要 本文针对STM32F10x系列微控制器的定时器模块进行全面的探讨和分析。首先,概述了STM32F10x定时器的基础知识,接着详细阐述了其工作原理、硬件配置和软件配置。随后,文章深入讲解了定时器的高级特性,包括输入捕获、PWM输出和输出比较功能,以及这些功能的具体应用和配置方法。在应用实践章节中,讨论了定时器在时间测量、频率测量和信号生成中的实际应用及解决方案。最后,探索了定时器在综合应用