1. 前言

想说爱你不容易啊,前文在rk3588中编译安装FastDeploy ,运行起来之后又遇到新问题了,提示:

root@ATK-DLRK3588-Ubuntu:/work/tearcher/paddleOCR/rk3588/code#     python3 infer.py \
>                 --det_model ../PP-OCRv3/det3_shape_rk3588_unquantized.rknn \
>                 --cls_model ../PP-OCRv3/cls2_shape_rk3588_unquantized.rknn \
>                 --rec_model ../PP-OCRv3/rec3_shape_rk3588_unquantized.rknn \
>                 --rec_label_file ppocr_keys_v1.txt \
>                 --image image_2.png \
>                 --device npu
/usr/lib/python3/dist-packages/requests/__init__.py:89: RequestsDependencyWarning: urllib3 (2.2.3) or chardet (3.0.4) doesn't match a supported version!
  warnings.warn("urllib3 ({}) or chardet ({}) doesn't match a supported "
Traceback (most recent call last):
  File "/usr/local/lib/python3.8/dist-packages/fastdeploy/c_lib_wrap.py", line 164, in <module>
    from .libs.fastdeploy_main import *
ImportError: libopencv_flann.so.3.4: cannot open shared object file: No such file or directory

During handling of the above exception, another exception occurred:

Traceback (most recent call last):
  File "infer.py", line 15, in <module>
    import fastdeploy as fd
  File "/usr/local/lib/python3.8/dist-packages/fastdeploy/__init__.py", line 122, in <module>
    from .c_lib_wrap import (
  File "/usr/local/lib/python3.8/dist-packages/fastdeploy/c_lib_wrap.py", line 166, in <module>
    raise RuntimeError(f"FastDeploy initalized failed! Error: {e}")
RuntimeError: FastDeploy initalized failed! Error: libopencv_flann.so.3.4: cannot open shared object file: No such file or directory

在这里插入图片描述

2. 问题描述

经过查询系统也存在libopencv_flann.so.3.4 这个库,因此判断是程序没有找到这个库。

root@ATK-DLRK3588-Ubuntu:/# find -name "*libopencv_flann*"
./usr/local/lib/python3.8/dist-packages/fastdeploy/libs/third_libs/opencv/lib/libopencv_flann.so.3.4
./usr/lib/aarch64-linux-gnu/libopencv_flann.a
./usr/lib/aarch64-linux-gnu/libopencv_flann.so
./usr/lib/aarch64-linux-gnu/libopencv_flann.so.4.2
./usr/lib/aarch64-linux-gnu/libopencv_flann.so.4.2.0
./work/FastDeploy/build/third_libs/install/opencv/lib/libopencv_flann.so.3.4.14
./work/FastDeploy/build/third_libs/install/opencv/lib/libopencv_flann.so.3.4
./work/FastDeploy/build/third_libs/install/opencv/lib/libopencv_flann.so
./work/FastDeploy/build/fastdeploy-dev/third_libs/install/opencv/lib/libopencv_flann.so.3.4.14
./work/FastDeploy/build/fastdeploy-dev/third_libs/install/opencv/lib/libopencv_flann.so.3.4
./work/FastDeploy/build/fastdeploy-dev/third_libs/install/opencv/lib/libopencv_flann.so
./work/FastDeploy/python/build/lib.linux-aarch64-cpython-38/fastdeploy/libs/third_libs/opencv/lib/libopencv_flann.so.3.4
./work/FastDeploy/python/fastdeploy/libs/third_libs/opencv/lib/libopencv_flann.so.3.4.14
./work/FastDeploy/python/fastdeploy/libs/third_libs/opencv/lib/libopencv_flann.so.3.4
./work/FastDeploy/python/fastdeploy/libs/third_libs/opencv/lib/libopencv_flann.so
./work/FastDeploy/python/.setuptools-cmake-build/third_libs/install/opencv/lib/libopencv_flann.so.3.4.14
./work/FastDeploy/python/.setuptools-cmake-build/third_libs/install/opencv/lib/libopencv_flann.so.3.4
./work/FastDeploy/python/.setuptools-cmake-build/third_libs/install/opencv/lib/libopencv_flann.so

2. 问题修订

2.1 修订/root/.bashrc 文件

将库所在的路径添加到环境变量脚本即可解决问题,将下面的一行代码加入到,/root/.bashrc

LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/usr/local/lib/python3.8/dist-packages/fastdeploy/libs/third_libs/opencv/lib/

运行下面指令使文件生效

root@ATK-DLRK3588-Ubuntu:/# source /root/.bashrc 
root@ATK-DLRK3588-Ubuntu:/# echo $LD_LIBRARY_PATH
:/usr/local/lib/python3.8/dist-packages/fastdeploy/libs/third_libs/opencv/lib/

2.2 根据官方文档再次运行

source PathToFastDeploySDK/fastdeploy_init.sh

PathToFastDeploySDK 为FastDeploy 工程所在路径

官方编译手册
在这里插入图片描述

虽然用的是python 的sdk,但是也会用到so文件,因此也要执行 自带的配置环境变量脚本

3. 测试

修改之后重新运行FastDeploy ,测试是否可以文字识别
在这里插入图片描述

3. 结论

  1. 修订 修订/root/.bashrc 文件
  2. 执行官方自带的 source PathToFastDeploySDK/fastdeploy_init.sh
  3. 务必执行上面两个,缺失一个都无法正常运行。确实坑爹!

4. FastDeploy 版本

编译通过以及验证通过的版本,记录一下,万一master分支哪天更新又不能用了

FastDeploy 官方git
在这里插入图片描述

commit 980c0a1d2ccccc88eb2c3dc99b246a813d67aaee (HEAD -> develop, origin/develop, origin/HEAD)
Merge: eb141a09 4f4f2e14
Author: Jiang-Jia-Jun <163579578+Jiang-Jia-Jun@users.noreply.github.com>
Date:   Mon Feb 24 10:00:36 2025 +0800

    Merge pull request #2592 from jules-ai/develop
    
    fix Windows text encoding issue causing infinite loop
Logo

技术共进,成长同行——讯飞AI开发者社区

更多推荐