Building C++ Elektron SDK on our Linux platform

Our case is most similar to https://github.com/Refinitiv/Elektron-SDK/issues/86 but there does not seem to be any final resolution there. The issue is that prebuilt libraries seem to come only in two flavors, as above issue name suggests "C++ SDK dependency: builds for non RHEL6_64_GCC444 or OL7_64_GCC482"

We initially attempted approach similar to above forum issue by creating symlinks so named ( LIN3_64_GCC485 ) pointing to RHEL6_64_GCC444 under a few places where cmake / build stumbled, like installdb ; Cpp-C/Eta/Libs and Cpp-C/Ema/Libs.

Having to create symlinks does not sound like a great solution but it got us over this initial hurdle and then we encountered below error related to Dacs;

 [ 27%] Built target Provider_shared
make[2]: *** No rule to make target `Elektron-SDK-BinaryPack_dacs_LIBRARY-NOTFOUND', needed by `/home/auser/Elektron-SDK-1.3.0.L1.linux/setup/Elektron-SDK-1.3.0.L1.linux.rrg/Cpp-C/Eta/Executables/LIN3_64_GCC485/Optimized/authlock'.

Stop. make[1]: *** [Cpp-C/Eta/Applications/Examples/AuthLock/CMakeFiles/authlock.dir/all] Error 2

The root cause seems to be that for dacs and ansi Utils libraries cmake step computed target names that are LIBRARY-NOTFOUND.

So this is where my colleague and I stopped for now; I am reluctant to start changing cmake files for now as I feel this should just work.

If I examine CMakeCache.txt, for example, we see that include path for ansi and dacs looks good but for some reason library path is not computed correctly by cmake even though it exists as Libs/RHEL6_64_GCC444/Optimized/libdacs.a and we created symlink based Libs/LIN3_64_GCC485/Optimized/libdacs.a

What is the right way to approach both issues: (1) initial issue -- building on Linux/gcc but different from anticipated build targets and (2) specifics dacs Cmake LIBRARY_NOT_FOUND issue

Any suggestions?

Best Answer

Answers