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

Best Answer

Answers

  • @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.


  • @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

  • @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.

    image


    image

  • 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