Impact Acquire SDK C++
|
When sanitizing your code using Impact Acquire >= 2.46 (for Linux x86_64), e.g. with a clang address sanitizer, your program stops with a message like:
==2451==You are trying to dlopen a /tmp/shared.F27QQN shared library with RTLD_DEEPBIND flag which is incompatible with sanitizer runtime (see https://github.com/google/sanitizers/issues/611 for details). If you want to run /tmp/shared.F27QQN library under sanitizers please remove RTLD_DEEPBIND from dlopen flags.
Starting with version 2.46.0 of Impact Acquire, a library for allowing licensed access to certain functionality was integrated into the mvGenTLProducer.cti. In the Linux version of the GenTL producer, this library is loaded internally using the mentioned RTLD_DEEPBIND flag. (A flag that is set by design by the library provider.)
Currently, this issue cannot be resolved with current versions of the SDK.
The only solution so far is to use Impact Acquire 2.45.0 for sanitizing your code and then to switch back to a more modern version of the SDK for use in your productive code.