FAQ

  1. 程序执行出现libascendcl.so报错。
    • 问题现象。

      程序执行若出现如下报错:

      error while loading shared libraries: libascendcl.so: cannot open shared object file: No such file or directory
    • 解决方案。

      请检测“LD_LIBRARY_PATH”环境变量中AscendCL路径是否配置正确。

  2. 在使用CentOSEulerOS系统时,使用yum命令出现No module named 'dnf'报错。
    • 问题现象。

      在系统为CentOSEulerOS时,使用yum命令出现以下错误:

      Traceback (most recent call last):
        File "/usr/bin/yum", line 57, in <module>
          from dnf.cli import main
      ModuleNotFoundError: No module named 'dnf'
    • 解决方案。

      请删除“LD_LIBRARY_PATH”环境变量中的Python3.9路径,使用系统的python路径。

  3. 在使用CentOS或EulerOS系统时,使用yum命令出现No module named '_conf'错误。
    • 问题现象。

      在系统为CentOS或EulerOS时,使用yum命令出现以下错误:

      ImportError: /lib64/libcurl.so.4: symbol SSLv3_client_method version OPENSSL_1_1_0 not defined in file libssl.so.1.1 with link time reference
      ModuleNotFoundError: No module named '_conf'
    • 解决方案。

      请删除“LD_LIBRARY_PATH”环境变量中的${MX_SDK_HOME}/opensource/lib”,使用系统的“libssl.so”

  4. 执行命令查看版本号时,出现Permission denied报错。
    • 问题现象。
      使用以下命令查看版本号时:
      ./Ascend-mindxsdk-mxmanufacture_{version}_linux-{arch}.run --version
      ./Ascend-mindxsdk-mxvision_{version}_linux-{arch}.run --version

      出现类似如下的错误提示信息:

      rm: cannot remove "xxx": Permission denied
    • 原因分析。

      安装过有问题的版本,该版本在“/tmp”路径下留有缓存,影响到当前版本。

    • 解决方案。

      可执行以下命令解决:

      sudo rm -rf /tmp/mxManufacture /tmp/mxVision

      如果没有sudo权限可执行:

      chmod u+w -R /tmp/mxManufacture /tmp/mxVision && rm -rf /tmp/mxManufacture /tmp/mxVision

      命令中的“/tmp/mxManufacture”“/tmp/mxVision”请以实际存在为准,自行替换。

  5. OpenEuler 20.03操作系统中安装MindX SDK开发套件导入环境变量后导致系统命令yum、cmake不可用。
    • 问题现象。
      OpenEuler 20.03操作系统中安装MindX SDK开发套件导入环境变量后导致系统命令yum、cmake不可用。如图1所示(示例图片为mxManufacture,该情况同样适用于mxVision)。
      图1 yum不可用
    • 原因分析。

      导入MindX SDK环境变量后,“$HOME/SDK/mxManufacture-{version}/opensource/lib”“libssl.so”yumcmake所依赖的“libssl.so”冲突。({version}为安装的MindX SDK开发套件版本号,请用户参考实际理解。)

    • 解决方案。

      需要使用yum或者cmake命令时,将MindX SDK的“opensource/lib”相关路径从“LD_LIBRARY_PATH”环境变量中暂时移除。

  6. 青松服务器Kylin V10 sp1操作系统,源码方式安装完Python 3.9.2后,pip3工具无法使用。
    • 问题现象。

      在青松服务器Kylin V10 sp1操作系统中,以源码方式安装完Python 3.9.2后,pip3工具无法使用。

      执行过程中出现如下提示。

      WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
    • 原因分析。

      系统自带OpenSSL版本过低,不满足pip3工具的需求。

    • 解决方案。

      需手动升级OpenSSL版本,可参考如下方式进行解决。

      1. 通过OpenSSL官方网站下载最新版本源码包,本文以当前版本源码包“openssl-1.1.1m.tar.gz”为例。
      2. 将源码包上传至青松服务器Kylin V10 sp1操作系统$HOME目录下。
      3. 解压源码包并访问至解压目录下。
        tar zxvf openssl-1.1.1m.tar.gz
        cd openssl-1.1.1m/
      4. 执行源码编译。
        ./config --prefix=/usr/local/openssl no-zlib
        make -j32
        make install
      5. 备份原有OpenSSL文件。
        mv /usr/bin/openssl /usr/bin/openssl.bak
        mv /usr/include/openssl/ /usr/include/openssl.bak
      6. 执行以下命令,完成OpenSSL更新。
        ln -s /usr/local/openssl/include/openssl/ /usr/include/openssl
        ln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/local/lib64/libssl.so
        ln -s /usr/local/openssl/bin/openssl /usr/bin/openssl
  7. 在服务端接收请求或执行证书导入脚本时,KMC初始化随机数阻塞。
    • 问题现象。

      在服务端接收请求或执行证书导入脚本时,KMC初始化随机数阻塞但未抛出Error,等待时间不确定且可恢复。

    • 原因分析。

      “/dev/random”产生随机数阻塞。

    • 解决方案。

      通过添加haveged服务解决随机数阻塞问题,Ubuntu系统可参考以下命令安装使用。

      apt-get install -y haveged
  8. 使用MindX SDK时,出现can not find the element factory : mxpi_xxxpostprocessor报错。
    • 问题现象。

      使用MindX SDK时,出现“can not find the element factory : mxpi_xxxpostprocessor”, 先在“$HOME/SDK/mxManufacture-{version}/opensource/bin”路径下执行./gst-inspect-1.0 mxpi_xxxpostprocessor(插件名) 检查插件,发现插件能够正常加载,但运行时仍然报同样的错误信息。

    • 原因分析。

      Gstreamer的历史缓存没有清除。

    • 解决方案。
      1. 确认环境已安装python3.9
      2. 执行rm ~/.cache/gstreamer-1.0/registry.x86_64.bin(根据具体运行环境选择x86_64.bin或者aarch64.bin)来清除Gstreamer的历史缓存,再运行程序即可。
  9. 编译时出现libgfortran.so.4报错。
    • 问题现象。

      编译时出现依赖不存在的报错libgfortran.so.4: No such file or directory

    • 原因分析。

      “opensource”文件中的so文件需要依赖“libgfortran.so.4”,在编译环境中找不到。

    • 解决方案。
      apt-get update
      apt-get install gfortran-4 (如果环境中找不到gfortran-4,也可以安装大于或等于4的版本)
  10. 在Kunpeng服务器中运行多路视频分析,出现CPU资源被占满,导致业务堆积、断流的情况。
    • 问题现象。

      在Kunpeng 920 7260服务器中运行多路视频分析,出现CPU资源被占满,导致业务堆积、断流的情况。

    • 原因分析。

      视频分析业务不要求数据预取,CPU的预取开关打开会造成内存带宽浪费。

    • 解决方案。

      进入BIOS,把CPU的预取开关设置为关闭。

  11. 调用API参考(Python)V2视频解码/编码接口结束时出现core dumped现象。
    • 问题现象。

      调用python视频解码功能,若videoDecoder在全局作用域(非函数内)定义和执行,程序结束出现Segmentation fault (core dumped) 或 Aborted (core dumped),编码接口同样出现类似情况。

    • 原因分析。

      由于Pybind问题导致在全局作用域定义videoDecoder无法自动调用析构函数,python退出解释器时回调线程执行出错。

    • 解决方案(编码接口可适用)。

      方案一:在函数或类的成员方法中定义和运行videoDecoder。

      方案二:若在全局作用域中定义videoDecoder,则在程序结束时使用del函数删除构造的videoDecoder对象。

  12. 使用SDK时出现DataTransform.h中的方法不存在导致编译失败的情况。
    • 问题现象。

      在编译时,提示DataTransform.h中的方法不存在。

    • 原因分析。

      代码中引用到了DataTransform.h中的无效方法。

    • 解决方案。

      删除代码中与DataTransform.h相关的引用并重新编译。