On Jun 3, 2013, at 11:11 AM, Samuel Thibault <samuel.thiba...@inria.fr> wrote:
> If only plugins and the core use these functions, the application does > not have to use -lhwloc-helper at all. If the application uses them > (e.g. bitmap functions), then it would have to use -lhwloc-helper, > but we can probably as well simply provide the symbols in both > libhwloc-helper and libhwloc, so the application only needs -lhwloc. I don't think you want to go that route -- you can end up with duplicate symbols, and there be dragons there. > We > can probably do that for the helpers we know for sure they have no > state, such as bitmap functions. I don't know if all these elaborate workarounds will be a Good Thing. You'll basically explore the dynamic linker space, in all of its glory/ugliness, and end up coming up with horrid, confusing workarounds. The short version is: issues like this are the nature of DSOs. Hwloc has a solution for this problem: build without DSO support, and all works fine. That should be the advertised solution, IMNSHO. Until someone comes up with a more general, system-level solution to the problems of plugins loading plugins (e.g., some kind of flexible runtime linker namespace solution), individual user-level software packages cannot hope to sanely work around what is currently defined as the system model. -- Jeff Squyres jsquy...@cisco.com For corporate legal information go to: http://www.cisco.com/web/about/doing_business/legal/cri/