FAQs

  1. The libascendcl.so error is reported during program execution.
    • Symptom

      The following error information is displayed during program execution:

      error while loading shared libraries: libascendcl.so: cannot open shared object file: No such file or directory
    • Solution

      Check whether the AscendCL path in the LD_LIBRARY_PATH environment variable is correctly configured.

  2. On CentOS or EulerOS, the No module named 'dnf' error is reported when the yum command is executed.
    • Symptom

      On CentOS or EulerOS, the following error occurs when the yum command is executed:

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

      Delete the Python 3.9 path from LD_LIBRARY_PATH and use the Python path of the system.

  3. On CentOS or EulerOS, the No module named '_conf' error occurs when the yum command is executed.
    • Symptom

      On CentOS or EulerOS, the following error occurs when the yum command is executed:

      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'
    • Solution

      Delete ${MX_SDK_HOME}/opensource/lib from LD_LIBRARY_PATH and use the system libssl.so.

  4. When you check the version number, the Permission denied error is reported.
    • Symptom
      Run the following commands to check the version number:
      ./Ascend-mindxsdk-mxmanufacture_{version}_linux-{arch}.run --version
      ./Ascend-mindxsdk-mxvision_{version}_linux-{arch}.run --version

      Error information similar to the following is displayed:

      rm: cannot remove "xxx": Permission denied
    • Cause Analysis

      An abnormal version has been installed, which has a cache in the /tmp directory and affects the current version.

    • Solution

      Run the following command to solve the problem:

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

      If you do not have the sudo permission, run the following command:

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

      Replace /tmp/mxManufacture and /tmp/mxVision in the command with the actual values.

  5. On openEuler 20.03, after the MindX SDK is installed and environment variables are imported, the yum and cmake system commands are unavailable.
    • Symptom
      On openEuler 20.03, after the MindX SDK is installed and environment variables are imported, the yum and cmake system commands are unavailable, as shown in Figure 1. (The figure shows the error in mxManufacture, which is also applicable to mxVision.)
      Figure 1 Yum unavailable
    • Cause Analysis

      After MindX SDK environment variables are imported, libssl.so of $HOME/SDK/mxVision-{version}/opensource/lib conflicts with libssl.so on which yum and cmake depend. ({version} indicates the version number of the installed MindX SDK. Set this parameter as required.)

    • Solution

      When the yum or cmake command needs to be used, temporarily remove the opensource/lib path of the MindX SDK from LD_LIBRARY_PATH.

  6. After Python 3.9.2 is installed on the Kylin V10 SP1 OS on a QS server using the source code, the pip3 tool cannot be used.
    • Symptom

      After Python 3.9.2 is installed on the Kylin V10 SP1 OS on a QS server using the source code, the pip3 tool cannot be used.

      The following information is displayed during the execution:

      WARNING: pip is configured with locations that require TLS/SSL, however the ssl module in Python is not available.
    • Cause Analysis

      The built-in OpenSSL version is too early and does not meet the pip3 requirements.

    • Solution

      Upgrade OpenSSL by performing the following steps:

      1. Download the latest source package from the OpenSSL official website. The following uses openssl-1.1.1m.tar.gz as an example.
      2. Upload the source package to the $HOME directory of the Kylin V10 SP1 OS on the QS server.
      3. Decompress the source package and access the decompression directory.
        tar zxvf openssl-1.1.1m.tar.gz
        cd openssl-1.1.1m/
      4. Compile the source code.
        ./config --prefix=/usr/local/openssl no-zlib
        make -j32
        make install
      5. Back up the original OpenSSL files.
        mv /usr/bin/openssl /usr/bin/openssl.bak
        mv /usr/include/openssl/ /usr/include/openssl.bak
      6. Run the following commands to update 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. When the server receives a request or the certificate import script is executed, the KMC initialization random number is blocked.
    • Symptom

      When the server receives a request or the certificate import script is executed, the KMC initialization random number is blocked but no error is reported. The problem can be resolved after a period of time.

    • Cause Analysis

      Random numbers generated by /dev/random are blocked.

    • Solution

      Add the haveged service to solve this problem. For Ubuntu, run the following command:

      apt-get install -y haveged
  8. When the MindX SDK is used, the can not find the element factory: mxpi_xxxpostprocessor error is reported.
    • Symptom

      When the MindX SDK is used, the error message "can not find the element factory : mxpi_xxxpostprocessor" is displayed. In this case, run the ./gst-inspect-1.0 mxpi_xxxpostprocessor(plugin_name) command in the $HOME/SDK/mxVision-{version}/opensource/bin directory to check the plugin. The plugin can be properly loaded, but the same error message is displayed during the plugin running.

    • Cause Analysis

      The historical cache of GStreamer is not cleared.

    • Solution
      1. Ensure that Python 3.9 has been installed in the environment.
      2. Run rm ~/.cache/gstreamer-1.0/registry.x86_64.bin command to clear the history caches of GStreamer, and then run the program. Select x86_64.bin or aarch64.bin based on the operating environment
  9. The libgfortran.so.4 error is reported during compilation.
    • Symptom

      During compilation, the error message libgfortran.so.4: No such file or directory is displayed, indicating that the dependency does not exist.

    • Cause Analysis

      The .so file in the open source files depends on libgfortran.so.4, which cannot be found in the compilation environment.

    • Solution
      apt-get update
      apt-get install gfortran-4 (If gfortran-4 cannot be found in the environment, install it or a later version.)
  10. When multi-channel videos are analyzed on a Kunpeng server, the CPU resources are fully occupied, causing service accumulation and interruption.
    • Symptom

      When multi-channel videos are analyzed on a Kunpeng 920 7260 server, the CPU resources are fully occupied, causing service accumulation and interruption.

    • Cause Analysis

      The video analysis service does not require data prefetch. If the CPU prefetch function is enabled, the memory bandwidth will be wasted.

    • Solution

      Log in to the BIOS and disable the CPU prefetch function.

  11. After the video decoding or encoding API in the API Reference (Python) V2 is called, core dumped occurs.
    • Symptom

      When the Python video decoding function is called, if videoDecoder is defined and executed in the global scope (not in the function), "Segmentation fault (core dumped)" or "Aborted (core dumped)" is displayed when the program ends. This problem also occurs when the encoding API is called.

    • Cause Analysis

      Due to the Pybind problem, the videoDecoder defined in the global scope cannot automatically invoke the destructor. When Python exits the interpreter, an error occurs during the execution of the callback thread.

    • Solution (also applicable to the encoding API)

      Solution 1: Define and run videoDecoder in the method of a function or class member.

      Solution 2: If videoDecoder is defined in the global scope, use the del function to delete the constructed videoDecoder object when the program ends.

  12. When the SDK is used, the compilation fails because the method in DataTransform.h does not exist.
    • Symptom

      During compilation, a message is displayed, indicating that the method in DataTransform.h does not exist.

    • Cause Analysis

      An invalid method in DataTransform.h is used in the code.

    • Solution

      Delete the content related to DataTransform.h from the code and recompile the code.