On Sep 5, 2012, at 10:21 AM, Samuel Thibault wrote: > So ltdl does not help for that matter?
No. It's not really an ltdl issue. ltdl is just a portable wrapper around OS-specific dlopen-like mechanisms. Back-end linker semantics (like these) are a whole different issue. > One way would be to pass to the component a structure with all the > useful function pointers (using #define to keep the same source code). We thought about this in OMPI and decided it would be a nightmare in the source code. That being said, we didn't *actually try it*, so I can't say for sure. But it certainly does make me nervous. > Another way would be to gather the allowed functions into a separate > libhwloc-components library without internal state, thus allowing > several copies, but that would bring a possibility of differing versions > between e.g. a statically-linked libhwloc.a and the dynamically-loaded > libhwloc-components.so. Yuck. If a software design *requires* multiple copies of the code, that just seems pretty ugly to me. :-\ -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/