当前位置: 首页 > news >正文

【经验分享】Ubuntu20.04编译RK3568 AI模型报错问题(已解决)

【经验分享】Ubuntu20.04编译RK3568 AI模型报错问题(已解决)

  • 前言
  • 问题现象
  • 问题分析
  • 解决方案
  • 总结


前言

这里使用的是Rockchip提供的开源项目rknn_model_zoo,https://github.com/airockchip/rknn_model_zoo/tree/main
此解决方案适用于Rockchip芯片在Ubuntu平台上编译报错问题。


问题现象

在使用如下命令编译生成开发板AI demo过程中出现报错

./build-linux.sh -t rk3568 -a aarch64 -d whisper

在这里插入图片描述

(p38) xingyun@ubuntu:~/software/rknn-toolkit/rknn_model_zoo$ ./build-linux.sh -t rk3568 -a aarch64 -d whisper
./build-linux.sh -t rk3568 -a aarch64 -d whisper
/home/xingyun/Downloads/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu
===================================
BUILD_DEMO_NAME=whisper
BUILD_DEMO_PATH=examples/whisper/cpp
TARGET_SOC=rk356x
TARGET_ARCH=aarch64
BUILD_TYPE=Release
ENABLE_ASAN=OFF
DISABLE_RGA=OFF
DISABLE_LIBJPEG=OFF
INSTALL_DIR=/home/xingyun/software/rknn-toolkit/rknn_model_zoo/install/rk356x_linux_aarch64/rknn_whisper_demo
BUILD_DIR=/home/xingyun/software/rknn-toolkit/rknn_model_zoo/build/build_rknn_whisper_demo_rk356x_linux_aarch64_Release
CC=/home/xingyun/Downloads/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-gcc
CXX=/home/xingyun/Downloads/gcc-linaro-6.3.1-2017.05-x86_64_aarch64-linux-gnu/bin/aarch64-linux-gnu-g++
===================================
-- 64bit
-- OpenCV_DIR=/home/xingyun/software/rknn-toolkit/rknn_model_zoo/examples/whisper/cpp/../../../3rdparty/opencv/opencv-linux-aarch64/share/OpenCV
-- OpenCV_LIBS=opencv_calib3dopencv_coreopencv_features2dopencv_imgcodecsopencv_imgprocopencv_video
-- Configuring done
-- Generating done
-- Build files have been written to: /home/xingyun/software/rknn-toolkit/rknn_model_zoo/build/build_rknn_whisper_demo_rk356x_linux_aarch64_Release
[ 50%] Built target audioutils
[ 50%] Built target fileutils
[ 50%] Built target imagedrawing
[ 66%] Built target imageutils
[ 75%] Linking CXX executable rknn_whisper_demo
/usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /home/xingyun/software/rknn-toolkit/rknn_model_zoo/3rdparty/libsndfile/Linux/aarch64/libsndfile.a(libsndfile_la-sndfile.o): relocation R_AARCH64_ADR_PREL_PG_HI21 against symbol `stderr@@GLIBC_2.17' which may bind externally can not be used when making a shared object; recompile with -fPIC
/usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: /home/xingyun/software/rknn-toolkit/rknn_model_zoo/3rdparty/libsndfile/Linux/aarch64/libsndfile.a(libsndfile_la-sndfile.o)(.text+0x3b4): unresolvable R_AARCH64_ADR_PREL_PG_HI21 relocation against symbol `stderr@@GLIBC_2.17'
/usr/lib/gcc-cross/aarch64-linux-gnu/9/../../../../aarch64-linux-gnu/bin/ld: final link failed: bad value
collect2: error: ld returned 1 exit status
make[2]: *** [CMakeFiles/rknn_whisper_demo.dir/build.make:135: rknn_whisper_demo] Error 1
make[1]: *** [CMakeFiles/Makefile2:124: CMakeFiles/rknn_whisper_demo.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

问题分析

通过deepseek查询问题原因
在这里插入图片描述
deepseek要求我重新编译libsndfile.a
在这里插入图片描述
这里其实我被deepseek误导了,因为并不是只出现这一个第三方库文件异常的问题。所以不可能每一个都去重新编译一遍。


解决方案

重新看了下编译环境指导文档,终于找到了问题所在。其实很简单,就是编译工具链的版本不对,在ubuntu20.04直接安装的编译工具链和瑞芯微提供的编译工具链的版本号存在差异,导致编译异常。
在这里插入图片描述
所以正确做法就是使用瑞芯微Rockchip建议的交叉编译工具链版本

  1. 通过此链接下载NDK(建议下载r19c版本):https://dl.google.com/android/repository/android-ndk-r19c-linux-x86_64.zip
    再重新编译,注意删除build路径,完美编译通过!
    在这里插入图片描述
    至此问题完美解决!

总结

通过本次解决方案的排查,可以看出DeepSeek并不能完全解决问题,它只能给出一些通用的建议,很有可能会把你带偏。最好还是把docs下的文档仔细看看,一般问题都能够解决。当然,DeepSeek对于我们开发者的帮助还是毋庸置疑的,我很欣赏一句话
在这里插入图片描述


http://www.mrgr.cn/news/93825.html

相关文章:

  • FPGA时序约束的几种方法
  • 【redis】五种数据类型和编码方式
  • 【2025前端高频面试题——系列二之vue生命周期:vue2】
  • 如何将本地已有的仓库上传到gitee (使用UGit)
  • 解锁DeepSpeek-R1大模型微调:从训练到部署,打造定制化AI会话系统
  • MySql自动安装脚本
  • 【单片机】ARM 处理器简介
  • webshell一些上传心得
  • LeetCode --- 439周赛
  • AFL++安装
  • 《苍穹外卖》SpringBoot后端开发项目重点知识整理(DAY1 to DAY3)
  • 【Git】linux搭建Gitea配置mysql数据库
  • nlp培训重点-5
  • OSPF的各种LSA类型,多区域及特殊区域
  • windows:curl: (60) schannel: SEC_E_UNTRUSTED_ROOT (0x80090325)
  • H5页面在移动端自动横屏
  • Unity Shader学习总结
  • 数据增强术:如何利用大模型(LLMs)来模拟不同的扰动类型以增强信息提取任务的鲁棒性
  • Android 仿 DeepSeek 思考效果:逐字显示 AI 生成内容,支持加粗、颜色,复制内容
  • 『MaxKB系列(一)』在Windows下搭建MaxKB开发环境