LPC unable to find libcurl.so
I'm attempting to run a fresh install of LPC (Legacy Protocol Converter). I'm getting the below error finding libcurl.so despite having made sure that LD_LIBRARY_PATH is set correctly:
Error querying service discovery: Failed to initialize RsslRestClient. Text: </local/jenkins/workspace/RRTLPC/OS/OL7-64/esdk/source/esdk/Cpp-C/Eta/Impl/Util/rsslCurlJIT.c:77> Error: 0012 Libcurl intialization failed. Curl library: libcurl.so not found.
My LD_LIBRARY_PATH is as follows: /opt/refinitiv/SOFTWARE/lpc1.2.0/linux7_x86_64/lib
The libcurl.so that exists at that location is the one that was placed there by the LPC installation script.
UPDATE - I think the issue might be that I'm attempting to run on a Ubuntu 16 system, but the libcurl.so supplied with LPC is for RHEL. Pointing LD_LIBRARY_PATH at my local system libcurl.so rather than the one supplied with the LPC install gives me a different error -
/local/jenkins/workspace/RRTLPC/OS/OL7-64/esdk/source/esdk/Cpp-C/Eta/Impl/Reactor/Util/rsslRestClientImpl.c:1520> Error: Failed to set CURL options with text: An unknown option was passed in to libcurl
Find more posts tagged with
- Review Installation Guide, section "Proxy and Firewall Support"- look at the new endpoints connectivity requirements.
- First, verify the connectivity on the host that you run docker container on. Do you know what tier your organization is assigned? For example, if you are in EMEA region and on the first tier, as the question seem to apply, verify via telnet to:
- emea-1-t1.streaming-pricing-api.refinitiv.com, on ports 443 and 14002
- emea-2-t1.streaming-pricing-api.refinitiv.com, on ports 443 and 14002
- emea-3-t1.streaming-pricing-api.refinitiv.com, on ports 443 and 14000
- Next, verify the same way, from your docker container.
Hello David @david.hills,
Do not believe ping to the endpoints is supported.
Can discuss, how to checkup on the connectivity from the docker container for LPC configuration:
If you are not sure what tier you are, verify to all tiers, to endpoints on t1, t2 and t3 (9 in total).
Thanks Zoya. The ipcRead() error was due to the firewall. Our admins unblocked the endpoints mentioned and I'm now able to connect. Appreciate all the help.
Hello @david.hills,
Guessing that you are installing Legacy Portocol Converter 1.2 ?
Reviewing in Installation Guide on My Refinitiv:
"Supported Platforms
• RHEL / Oracle Linux 7.X x64 bit series.
• RHEL / Oracle Linux 8.X x64 bit series.
• RHEL / Oracle Linux 7.X x64 on VMWare.
• RHEL / Oracle Linux 8.X x64 on VMWare.
• Amazon AMI Linux 7.X using Docker container.
• Amazon AMI Linux 7.X using RHEL 7.X package installation.
• Linux Docker container on RHEL / Oracle Linux 7.x x64 series starting with 7.4.
• Linux Docker container on RHEL / Oracle Linux 8.x x64 series (uses Linux 7 binaries).
• Linux Docker container on Windows Server 2012, 2016, and 2019 via Docker Toolbox with Oracle Virtualbox VM.
"
Do not find Ubuntu OS.
Therefore, I would not expect that LPC/Refinitiv Realtime Test Environment installation is supported on Ubuntu 16, and, consequently, you may run into issues while installing on it.
Resulting in libcurl available options not matching to the expected ones, but may not be the only issue.
Suggesting, to try to secure a supported OS for the installation, or to look into a docker- based installation option.
Thanks Zoya. Yes, I saw that section of the install guide but was hoping I might be able to get things running regardless. I have since managed to resolve the libcurl problem by pointing LD_LIBRARY_PATH at a local libcurl.so file. The log now contains openssl library issues -
I tried the docker install too and got a bit further. The problem there is an ipcRead() error. Which interestingly is also showing in the non-docker version after the openssl errors.
I'm having our firewall settings checked.
PS - I also have a MyRefinitiv case open (ID 09671879)
@david.hills,
Connectivity check is exactly what I would do first.
Double-check, that when you run your docker container, you expose the required ports. Run rmdstestclient to test from the same container first, and once proven working, from "outside" of the container, to complete your checks.
This is exactly what I have meant, when I have said that the difference in libcurl parameters may not be the only issue with installing on Ubuntu.
Furthermore, let's say you got it running on an unsupported platform successfully, and lets' say something unexpected happens 2 years down the line, for most clients this is not acceptable.