On Saturday, 10 December 2016 at 02:39:33 UTC, timotheecour wrote:
Have a look at what `trace -E d_executable args` and `trace -E
print on startup and grep for dlopen calls and the like.
do you mean strace?
I have trace on OSX but I'm asking for linux.
Looking at the code for $checkModuleCollisions in druntime
* Check for module collisions. A module in a shared library
* with an existing module if it's ModuleInfo is interposed
* symbol interposition) by another DSO. Therefor two modules
* same name do not collide if their DSOs are in separate symbol
Not exactly sure what that means nor how to fix my issue:
handle=dlopen2("path/liblib.so", RTLD_LAZY | RTLD_LOCAL);
// error: The module 'foo' is already defined in 'libmylib.so'
How would I modify the code to avoid this?