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
Install the OpenSSL software by following the procedure described in Installing OpenSSL/Tongsuo, and install the KAE software packages by following the procedures in Installing KAE Using RPM Packages, Installing KAE Using DEB Packages, and Installing KAE Using Source Code.
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:
1rpm -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