我要评分
获取效率
正确性
完整性
易理解

Failed to Identify the Related Interface Symbols After the OpenSSL of a New Version Is Installed

Symptom

The following error information is displayed when executing the rpm command:

1
rpm: relocation error: /lib64/librpmio.so.8: symbol EVP_md2 version OPENSSL_1_1_0 not defined in file libcrypto.so.1.1 with link time reference

The following error information is displayed when the OpenSSL command is executed:

1
/usr/bin/openssl: relocation error: /usr/bin/openssl: symbol EVP_md2 version OPENSSL_1_1_0 not defined in file libcrypto.so.1.1 with link time reference

Key Process and Cause Analysis

If the OpenSSL dynamic library path is configured to LD_LIBRARY_PATH or the library is installed in /usr/local/lib (that is, the dynamic library search path in the /etc/ld.so.conf file is set to /usr/local/lib), when the system tool or command attempts to invoke the OpenSSL dynamic library, the original system library rather than the library installed by the user is invoked.

Conclusion and Solution

You are advised to install OpenSSL by referring to "Installing OpenSSL/Tongsuo" and then install the KAE software package by referring to "Software Installation" in the Kunpeng Accelerator Engine User Guide.

If the system needs to configure the /usr/local/lib path to the LD_LIBRARY_PATH environment variable or configure the path to /etc/ld.so.conf, specify the installation path and dynamic library path before installing the OpenSSL source code:

1
2
3
./config --prefix=/usr/local/openssl -Wl,-rpath,/usr/local/openssl/lib
make
make install
  • If the accelerator is installed in RPM mode, perform the following modification:
    1
    rpm -ivh libkae-1.0.1-1.euler2.0.aarch64.rpm --prefix=/usr/local/openssl/lib/engines-1.1
    
  • If the accelerator is installed in source code mode, run the following compilation and installation commands in sequence.
    1
    2
    3
    4
    5
    cd KAE
    chmod +x configure
    ./configure --openssl_path=/usr/local/openssl
    make clean && make
    make install