question

Upvotes
Accepted
41 2 0 2

Error: 0012 Unable to load openSSL Libraries

I have an Elektron SDK sample program that runs successfully on my development PC but not when I deploy it to another PC, which is pretty much a vanilla Window 10 box other than the Visual Studio redistributables (VC_redist.x64.exe) that are required to run anything built by VC.

The error log indicates that the SDK is unable to load openSSL libraries. (See below.) Are there additional binaries that need to be deployed along with the application?

For background, the sample is "EMA Consumer - Posting data to TR Contribution Channel" modified with my account details and it successfully posts data. The EXE is a Release build. The following log message repeats several times before the app times out.


loggerMsg

TimeStamp: 10:53:06.998

ClientName: ChannelCallbackClient

Severity: Warning

Text: Received ChannelDownReconnecting event on channel Channel_1

Instance Name Consumer_1_1

RsslReactor 0x000002159F096AD0

RsslChannel 0x000002159F096AD0

Error Id -1

Internal sysError 126

Error Location

Error Text <C:\Jenkins\workspace\ESDKCore_RCDEV\OS\VS140-64\rcdev\source\esdk\Cpp-C\Eta\Impl\Transport\rsslSocketTransportImpl.c:7604> Error: 0012 Unable to load openSSL Libraries.

loggerMsgEnd

elektronrefinitiv-realtimeelektron-sdkrrtema-apielektron-message-apircc-apiopenssl
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvote
Accepted
41 2 0 2

@moragodkrit

Follow-up: I downloaded OpenSSL DLLs from here: http://wiki.overbyte.eu/arch/openssl-1.1.1a-win64.zip

After I put them in the EXE directory the programs now runs fine. Thanks for your questions -- they helped me resolve this issue.


icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
7.6k 15 6 9

@jeff.birkel

What version of EMA /ESDK you currently use and Can you share the EMA configuration file?
I tested the TRCC example with ESDK 1.3.1 and connecting the example to the TRCC server for windows and I also configured the EMA config to use open ssl rather than winInet and still not found the issue.


icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
41 2 0 2

@moragodkrit

Thanks for your reply.

The version is (from the CHANGELOG file): ESDK C/CPP 1.3.1.L1 aka EMA 3.3.1.L1 and ETA 3.3.1.L1

I attached the Ema config file.

I was just looking at the README.md file and it lists openSSL as an "external module" used by the ESDK. For Windows I assume this would be a DLL? Can you recommend a binary distribution of OpenSSL that would satisfy this requirement?

EmaConfig.zip


emaconfig.zip (3.7 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
7.6k 15 6 9

@jeff.birkel

It looks like you changed EncryptedProtocolType to EncryptedProtocolType::RSSL_SOCKET so EMA uses OpenSSL rather than the default WinInet on windows and that is the reason that it required the OpenSSL library.

It looks like the windows 10 on azure I just created already have openssl lib installed so that why I can't replicate the error.



emaprotocol.jpg (50.0 KiB)
emaprotocol2.jpg (140.7 KiB)
icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.

Upvotes
41 2 0 2

Yes. The reason that was done was to work-around an incompatibility between the Windows EMA program I built and the server it was trying to login-to. (Apparently, a Windows build that uses WinInet can only connect to Windows servers.) I did that on the advice of a refinitiv engineer. You can refer to that thread here: https://community.developers.refinitiv.com/questions/51027/ema-consumer-app-login-times-out-after-45-seconds.html

icon clock
10 |1500

Up to 2 attachments (including images) can be used with a maximum of 512.0 KiB each and 1.0 MiB total.