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
c++_executable args`
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
[src/rt/sections_elf_shared.d:859]:
```
* Check for module collisions. A module in a shared library
collides
* with an existing module if it's ModuleInfo is interposed
(search
* symbol interposition) by another DSO. Therefor two modules
with the
* same name do not collide if their DSOs are in separate symbol
resolution
* chains.
```
Not exactly sure what that means nor how to fix my issue:
```
void some_fun(){
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?