## Context
I am trying to build a small demo application that passes data between RTI DDS Connext topics and Kafka topics. This involves running RTI's Routing Service utility, which in turn runs a [kafka adapter] also provided by RTI.
When I run the routing service application, I get the following error:
librtikafkaadapter.so: /lib64/libldap.so.2: undefined symbol: EVP_md2, version OPENSSL_3.0.0
## Question
How do I get this kafka adapter to work with the version of OpenSSL that I have on my OS (Rocky 9.5, OpenSSL 3.2.2)?
## What I've Tried
Through many hours of googling, I have been lead to believe that my OS (Rocky 9.5) uses a version of OpenSSL that has deprecated the use of this EVP_md2 algorithm.
To fix this, I edited the /etc/ssl/openssl.cnf file to enable legacy providers, and verified in two different ways that legacy support is enabled:
Firstly, I run openssl list -providers
and see the support is activated:
Providers:
default
name: OpenSSL Default Provider
version: 3.2.2
status: active
legacy
name: OpenSSL Legacy Provider
version: 3.2.2
status: active
Second, I found (thanks google) that I can call the md2 algorithm from the command line: echo -n "aaa" | openssl md2 -provider legacy
I then re-built the RTI kafka adapter library, but still receive the same error. I don't understand why I can run this md2 algorithm from the command line but that the code for this adapter can't call it.
I have also tried installing a so-called compatibility engine compat-openssl11
that is supposed to provide backwards compatibility for old applications running on systems with newer versions of OpenSSL, but that also did not work.
Any help would be appreciated.
**Edit: Information requested in comments**
rpm/dnf version of openldap: 2.6.6-3.el9
Asked by rocksNwaves
(121 rep)
May 7, 2025, 09:18 PM
Last activity: May 9, 2025, 05:12 PM
Last activity: May 9, 2025, 05:12 PM