Hi,
I'm trying to run rtiperftest with TLS transport on raspberry pi 3B. But I got the following error message:
$ bin/armv6vfphLinux3.xgcc4.7.2/release/perftest_cpp -transport TLS -transportVerbosity 6
RTI Perftest 3.1.0 53dfe4c (RTI Connext DDS 6.0.1)
[D0001|ENABLE] N:[D0001|ENABLE] RTITLS_context_init:Found OpenSSL library version OpenSSL 1.1.1g 21 Apr 2020
[D0001|ENABLE] RTITLS_context_init:Certificate chain cannot be loaded from file './resource/secure/sub.pem'
:[D0001|ENABLE] DDS_DomainParticipantConfigurator_setup_custom_transports:!create custom transport plugin
[D0001|ENABLE] DDS_DomainParticipantConfigurator_enable:!install transport plugin aliases = custom transports
[D0001|ENABLE] DDS_DomainParticipant_enableI:!enable transport configurator
DDSDomainParticipant_impl::createI:ERROR: Failed to auto-enable entity
DomainParticipantFactory_impl::create_participant():!create failure creating participant
Problem creating participant.
[Error]: _MessagingImpl was null or it could not be initialized
Test ended.
My system info is:
Linux raspberrypi96 5.4.72-v7+ #1356 SMP Thu Oct 22 13:56:54 BST 2020 armv7l GNU/Linux
I have tried to re-generate all SSL keys and certificates by executing the shell script:
rti_perftest-3.1.0_armv6vfphLinux3.xgcc4.7.2/resource/secure/make.sh
The script works well, but the same problem persists.
I installed the rtiperftest binary buildup from https://github.com/rticommunity/rtiperftest/releases/download/3.1/rti_perftest-3.1.0_RTI_ConnextDDS_Pro_6.0.1_armv6Linux.tar.gz.
I performed same operations on x64Linux machine and TLS works well.
Does anybody know how to solve the problem on Pi?
Some findings when solving this problem:
Hi,
I am taking note of this. We will investigate it and fix it accordingly.
I can confirm KKVandy that the issue doesn't happen when not compiling against security.
I got to the bottom of the issue KKVandy:
The problem is related with mixing statically linked libraries (The openssl + Connext DDS Secure ones) with dynamically linked ones (DTLS and TLS ones, which also link with openssl). This causes trouble in certain platforms, and the raspberry-pi one is one of them.
You should be able to solve this by linking WITH -secure + adding --dynamic to the compilation parameters (hence compiling everything dynamically).
Sounds good. Thank you for figuring out this problem.