[ 79.030283] rga: src:rga2_get_img_info fail [ 79.030308] rga: RGA2 : DMA buf copy error [ 79.157062] rga: dma_buf_get fail fd[127]
时间: 2024-04-21 07:25:00 浏览: 147
这是一个关于 rga 的错误消息,其中包含了两个错误信息。第一个错误是 "rga2_get_img_info fail",第二个错误是 "RGA2 : DMA buf copy error"。最后一行错误消息中显示了 "dma_buf_get fail"。根据这些错误消息,可以推测出在执行 rga 相关的操作时发生了错误。具体的原因需要进一步调查和分析。你可以提供更多的上下文信息,以便我能够更好地帮助你解决这个问题。
相关问题
详细报错如下: android.hardware.camera.provider@2.4-external-service: @rga_scale_crop, dst fd:32,width:640,height:480,isDstNV21:0 01-01 08:08:00.178 316 2373 E librga : 544:src has not fd and address for render 01-01 08:08:00.178 316 2373 V ExtCamDevSsn@3.4: threadLoop: ANDROID_SCALER_CROP_REGION not set 01-01 08:08:00.182 0 0 E rga2 : unknown ioctl cmd! 01-01 08:08:00.182 0 0 E rga2 : unknown ioctl cmd! 01-01 08:08:00.182 0 0 E rga2 : unknown ioctl cmd! 01-01 08:08:00.182 0 0 E rga2 : unknown ioctl cmd!
根据详细的报错信息,可以看出问题出在一个名为 "librga" 的库上。报错信息中提到了 "src has not fd and address for render" 和 "unknown ioctl cmd!",这表明相机应用在调用图像处理相关的函数时遇到了问题。
以下是一些可能的解决方案:
1. 确保你的设备上安装了最新版本的系统软件和相机驱动程序。有时,更新可以修复已知的问题和错误。
2. 尝试清除相机应用的缓存和数据。进入系统设置 -> 应用和通知 -> 所有应用程序 -> 相机应用 -> 存储 -> 清除缓存和清除数据。这将重置相机应用的设置和配置,可能会解决一些软件相关的问题。
3. 如果你使用的是第三方相机应用,尝试使用其他相机应用或默认系统相机应用来查看是否仍然存在相同的问题。这有助于确定问题是与特定应用程序相关还是普遍存在。
4. 如果问题仍然存在,可以尝试联系设备制造商或相机应用的开发者,向他们报告该问题,并提供详细的错误日志。他们可能能够提供更具体的解决方案或修复程序。
请注意,由于该问题涉及到底层图像处理库和驱动程序,可能需要更深入的技术知识和支持才能解决。如果以上方法无效,你可能需要寻求更专业的帮助,例如向设备制造商的技术支持部门寻求帮助,或在开发者社区或论坛上寻求更具体的建议。
target_link_libraries(rknn_shilinsanitation ${RKNN_RT_LIB} ${RGA_LIB} ${OpenCV_LIBS} PRIVATE OpenSSL::SSL OpenSSL::Crypto) CMake Error at CMakeLists.txt:89 (target_link_libraries): The INTERFACE, PUBLIC or PRIVATE option must appear as the second argument, just after the target name. CMake Error at CMakeLists.txt:97 (target_link_libraries): The INTERFACE, PUBLIC or PRIVATE option must appear as the second argument, just after the target name.
这个错误提示你在两个 `target_link_libraries` 命令中都没有正确指定链接选项的位置。
在 CMake 中,`target_link_libraries` 命令的语法如下:
```cmake
target_link_libraries(target-name [PRIVATE|PUBLIC|INTERFACE] library-name1 [library-name2 ...])
```
其中,`target-name` 表示要链接的目标名称,`library-name1`、`library-name2` 等表示要链接的库名称。选项 `PRIVATE`、`PUBLIC` 和 `INTERFACE` 用于指定链接选项的作用范围,必须紧跟在 `target-name` 后面。
为了解决这个问题,你需要将 `PRIVATE`、`PUBLIC` 或 `INTERFACE` 选项放在目标名称之后,例如:
```cmake
target_link_libraries(your-target-name PRIVATE library-name1 library-name2 ...)
```
对于你的情况,你需要将 `PRIVATE OpenSSL::SSL OpenSSL::Crypto` 选项放在目标名称 `${RKNN_RT_LIB} ${RGA_LIB} ${OpenCV_LIBS}` 后面,即:
```cmake
target_link_libraries(rknn_shilinsanitation ${RKNN_RT_LIB} ${RGA_LIB} ${OpenCV_LIBS} PRIVATE OpenSSL::SSL OpenSSL::Crypto)
```
这样就可以正确指定链接选项的位置,避免出现上述错误。
阅读全文