RTSDK - I get linking/build errors when I try to make the tutorial 2 example of ETA in RHEL7

Hi,

I downloaded and installed the new RealTime SDK , on our server, I set the ETA path environment variable, the first tutorial code worked perfectly, but the 2nd example generates error during linking/building :

mkdir -p./RHEL8_64_GCC831/Optimized/

/usr/bin/g++-fPIC -ggdb3 -g -o ./RHEL8_64_GCC831/Optimized//basicConsumer./RHEL8_64_GCC831/Optimized//obj/basicConsumer.o -m64  -D_SVID_SOURCE=1 -DCOMPILE_64BITS  -DLinux -Dx86_Linux_4X -Dx86_Linux_5X-DLinuxVersion=5 -D_iso_stdcpp_ -D_BSD_SOURCE=1 -D_POSIX_SOURCE=1-D_POSIX_C_SOURCE=199506L -D_XOPEN_SOURCE=500 -D_POSIX_PTHREAD_SEMANTICS -D_GNU_SOURCE-I/Install/RTSDK/RTSDK-2.2.2.L1.linux.rrg/Cpp-C/Eta/Include/Codec/-I/Install/RTSDK/RTSDK-2.2.2.L1.linux.rrg/Cpp-C/Eta/Include/Transport-I/Install/RTSDK/RTSDK-2.2.2.L1.linux.rrg/Cpp-C/Eta/Include/RDM-I/Install/RTSDK/RTSDK-2.2.2.L1.linux.rrg/Cpp-C/Eta/Include/Reactor-I/Install/RTSDK/RTSDK-2.2.2.L1.linux.rrg/Cpp-C/Eta/Include/Util-L/Install/RTSDK/RTSDK-2.2.2.L1.linux.rrg/Cpp-C/Eta/Libs/RHEL8_64_GCC831/Optimized/-L/Install/RTSDK/RTSDK-2.2.2.L1.linux.rrg/Cpp-C/Eta/Libs/RHEL8_64_GCC831/Optimized//Install/RTSDK/RTSDK-2.2.2.L1.linux.rrg/Cpp-C/Eta/Libs/RHEL8_64_GCC831/Optimized//librsslVA.a/Install/RTSDK/RTSDK-2.2.2.L1.linux.rrg/Cpp-C/Eta/Libs/RHEL8_64_GCC831/Optimized//librssl.a-lnsl -lpthread -lrt -ldl -lm

/Install/RTSDK/RTSDK-2.2.2.L1.linux.rrg/Cpp-C/Eta/Libs/RHEL8_64_GCC831/Optimized//librssl.a(rwfToJsonBase.C.o):In function `rwfToJsonBase::rmtesToUtf8(RwfBuffer const&) [clone.cold.30]':

rwfToJsonBase.C:(.text.unlikely+0x1):undefined reference to `__cxa_throw_bad_array_new_length'

/Install/RTSDK/RTSDK-2.2.2.L1.linux.rrg/Cpp-C/Eta/Libs/RHEL8_64_GCC831/Optimized//librsslVA.a(platform_util.c.o):In function `mbedtls_platform_zeroize':

platform_util.c:(.text+0x181):undefined reference to `explicit_bzero'

collect2:error: ld returned 1 exit status

make: ***[basicConsumer] Error 1

the example i refer is :

developers.lseg.com/en/api-catalog/real-time-opnsrc/rt-sdk-cc/tutorials#eta-consumer-establishing-a-connection-to-a-provider

my setup is as follows :

RHEL 7.9 (Maipo)

gcc : 4.8.5 20150623 (Red Hat 4.8.5-44)

libstdc++.so.6.0.19

any help and/or suggestion would be appreciated

Thanks

Best Answer

  • Jirapongse
    Jirapongse ✭✭✭✭✭
    Answer ✓

    @Shuki

    Thank you for reaching out to us.

    RHEL8_64_GCC831 is for RHEL 8.x and GCC 8.3.1.

    If your machine is RHEL 7 and GCC 4.8.5, please use OL7_64_GCC482 instead.

    You can change it in the makefile.

    image.png

Answers