question

Upvotes
Accepted
5 1 2 4

libema missing and binary pack and cannot be build with gcc 10.2 centOs 7.4

Hi.

I trying to build the RTSDK from github master branch

neither

cmake -S <my_prefix>/Real-Time-SDK -B <my_prefix>/Real-Time-SDK/rtsdk.build -DCMAKE_BUILD_TYPE=Debug

nor

cmake -S <my_prefix>/Real-Time-SDK -B <my_prefix>/Real-Time-SDK/rtsdk.build -DCMAKE_BUILD_TYPE=Debug -DRTSDK_OPT_BUILD_ETA_EMA_LIBRARIES=ON -DBUILD_EMA_LIBRARY=ON

gives me ema library build

I see only ETA in RTSDK-BinaryPack/Cpp-C

The binary pack from github (https://github.com/Refinitiv/Real-Time-SDK/releases/download/Real-Time-SDK-2.0.4.L1/RTSDK-BinaryPack-2.0.4.L1.zip) contains only ETA too.

In cmake output I see

CMake Warning:

Manually-specified variables were not used by the project:


RTSDK_OPT_BUILD_ETA_EMA_LIBRARIES


Could you assist with that?

With best regards,

Dmitry Rusakov.

ema-apibuild
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
Accepted
82.5k 278 53 77

@dmitry.rusakov

I can build the EMA library properly on Centos 7 and GCC 10.2. I used a docker container.

[root@ce8125f7d5c7 rtsdk]# gcc --version
gcc (GCC) 10.2.1 20201016 (Red Hat 10.2.1-7)
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


[root@ce8125f7d5c7 rtsdk]# g++ --version
g++ (GCC) 10.2.1 20201016 (Red Hat 10.2.1-7)
Copyright (C) 2020 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.


[root@ce8125f7d5c7 rtsdk]# lsb_release -a
LSB Version:    :core-4.1-amd64:core-4.1-noarch
Distributor ID: CentOS
Description:    CentOS Linux release 7.9.2009 (Core)
Release:        7.9.2009
Codename:       Core
[root@ce8125f7d5c7 rtsdk]# cmake --version
cmake version 3.14.1


CMake suite maintained and supported by Kitware (kitware.com/cmake).

The cmake command is:

cmake ../ -DBUILD_UNIT_TESTS=OFF -DBUILD_ETA_APPLICATIONS=OFF -DCMAKE_BUILD_TYPE=Debug

Then run the make command to build the libraries.

The EMA library is in the Cpp-C/Ema/Libs/CENTOS7_64_GCC1021/Debug directory.

[root@ce8125f7d5c7 Debug]# pwd
/opt/refinitiv/Real-Time-SDK/Cpp-C/Ema/Libs/CENTOS7_64_GCC1021/Debug
[root@ce8125f7d5c7 Debug]# ls -al
total 91632
drwxr-xr-x 3 root root     4096 Feb  7 05:51 .
drwxr-xr-x 3 root root     4096 Feb  7 05:49 ..
drwxr-xr-x 2 root root     4096 Feb  7 05:52 Shared
-rw-r--r-- 1 root root 93818786 Feb  7 05:51 libema.a
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
25.3k 89 12 25

Hi @dmitry.rusakov

Have you tried the build instructions at https://github.com/Refinitiv/Real-Time-SDK/tree/master/Cpp-C

OR in

Real-Time-SDK/RTSDK_C_Installation_Guide.pdf at master · Refinitiv/Real-Time-SDK (github.com)

There is also an article that you may find useful - Using CMake and CMake GUI with Refinitiv Real-time SDK C++ | Refinitiv Developers

I should also add that on my WSL Linux build I see the libema.a file in /home/umer/Real-Time-SDK/Cpp-C/Ema/Libs/LIN5_64_GCC1121/Optimized



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
5 1 2 4

Hi @umer.nalla

I followed to instructions by these links, but still do not have libema. I am to mention that I am working with sources from github. In attachments out files of call below out.txt ut2.txt

cmake -H. -Brtsdk.gcc102 -DCMAKE_BUILD_TYPE=Debug

cmake -H. -Brtsdk.gcc102 -DCMAKE_BUILD_TYPE=Debug -DBUILD_RTSDK-BINARYPACK:BOOL=ON


out.txt (119.0 KiB)
out2.txt (119.5 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
32.2k 40 11 20

Hello @dmitry.rusakov ,

I believe that this is as expected.

Only ETA libraries are part of BinaryPack CPP-C. EMA libraries are found in Real-Time-SDK/Cpp-C/Ema/Libs directory.

If you have not seen any errors during build, when you will move to the next step, testing with the starter consumer example, you should encounter no libraries missing.

Hope this helps

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
25.3k 89 12 25

As my colleague pointed out, the libema file should be built once you try to make something that depends on it i.e. an EMA example

make Cons100

I should also point out that we don't support GCC 10.2 just yet. Our qualification on CentOS 7.X was done using OL7 libs built using GCC 4.8.2. Also, to do the qualification you have to build on OL7 or use our RRG package which has OL7 libs in it.

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
5 1 2 4

@umer.nalla @zoya faberov @Jirapongse Thanks a lot. It works.

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.

Write an Answer

Hint: Notify or tag a user in this post by typing @username.

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