Error building VAConsumer

make[3]: *** No rule to make target 'RTSDK-BinaryPack_rsslVACache_LIBRARY-NOTFOUND', needed by '../Cpp-C/Eta/Executables/OL8_64_GCC850/Optimized/VAConsumer'.  Stop.
make[2]: *** [CMakeFiles/Makefile2:4815: Cpp-C/Eta/Applications/Examples/VAConsumer/CMakeFiles/VAConsumer.dir/all] Error 2
make[1]: *** [CMakeFiles/Makefile2:4822: Cpp-C/Eta/Applications/Examples/VAConsumer/CMakeFiles/VAConsumer.dir/rule] Error 2
make: *** [Makefile:956: VAConsumer] Error 2

Hello! I want to build the VAConsumer (in Refinitiv Real-Time-SDK) example with CMake 3.20.2 (tried with 3.27.4 as well) on Red Hat Enterprise Linux 8.8 in a docker container. I get the following error message, I followed this tutorial: https://developers.refinitiv.com/en/api-catalog/refinitiv-real-time-opnsrc/rt-sdk-cc/quick-start


I tried the ideas at https://community.developers.refinitiv.com/questions/90426/building-vaconsumer.html but none of them helped.

My RTSDK version is Real-Time-SDK-2.1.1.L1.

Thank you for your help!


Best Answer

  • @marton.brosig

    I can build it properly by using the redhat/ubi8 as a base image.

    [root@96ae0c2eb89a Optimized]# ls
    350k.xml   ConsMod3  EncDecExample        NIProvMod1c  NIProvPerf  ProvMod2  Provider       VAProvider
    ConsMod1a  ConsMod4  MsgData.xml          NIProvMod2   NIProvider  ProvMod3  Shared         WatchlistConsumer
    ConsMod1b  ConsMod5  MultiCredWLConsumer  NIProvMod3   ProvMod1a   ProvMod4  TransportPerf  authlock
    ConsMod1c  ConsPerf  NIProvMod1a          NIProvMod4   ProvMod1b   ProvMod5  VAConsumer
    ConsMod2   Consumer  NIProvMod1b          NIProvMod5   ProvMod1c   ProvPerf  VANIProvider
    [root@96ae0c2eb89a Optimized]# pwd
    /opt/refinitiv/Real-Time-SDK/Cpp-C/Eta/Executables/RHEL8_64_GCC850/Optimized

    I used the following steps.

    1. yum -y install python3
    2. yum -y install gcc-c++.x86_64 git.x86_64 redhat-lsb-core.x86_64 openssl-devel wget.x86_64
    3. yum clean all
    4. mkdir -p /opt/refinitiv
    5. cd /opt/refinitiv
    6. git config --global http.sslVerify false
    7. git clone --recursive https://github.com/Refinitiv/Real-Time-SDK
    8. wget https://cmake.org/files/v3.12/cmake-3.12.4-Linux-x86_64.tar.gz --no-check-certificate
    9. wget https://download.gnome.org/sources/libxml2/2.10/libxml2-2.10.3.tar.xz --no-check-certificate
    10. tar -xvf cmake-3.12.4-Linux-x86_64.tar.gz
    11. cd Real-Time-SDK
    12. mkdir rtsdk
    13. export PATH=/opt/refinitiv/cmake-3.12.4-Linux-x86_64/bin:$PATH
    14. cd rtsdk
    15. mkdir -p external/dlcache
    16. cp /opt/refinitiv/libxml2-2.10.3.tar.xz external/dlcache
    17. cmake ../ -DBUILD_UNIT_TESTS=OFF
    18. make

Answers

  • @marton.brosig

    Thank you for reaching out to us.

    The RTSDK-BinaryPack supports the following compilers.

    1693887992915.pngYou are using OL8_64_GCC850. I think this is why it returns LIBRARY-NOTFOUND.

    You can try this docker image which is based on oraclelinux:7.

  • Thank you for you answer, the docker image you sent is working just fine. But i would like to make it work on RedHat 8.8. Is it possible somehow? I'm not that familiar with the above mentioned compilers.

  • Thank you for you answer, the docker image you sent is working just fine. But i would like to make it work on RedHat 8.8. Is it possible somehow? I'm not that familiar with the above mentioned compilers.

  • I think the problem is with my docker image, thank you for your solution a managed to build it in the image and than use it in my own.