On Thu, May 31, 2012 at 6:20 AM, Jeff Squyres <firstname.lastname@example.org>
On May 29, 2012, at 11:42 AM, Jed Brown wrote:Do the OMPI pkg-config files not do this properly?
> The pkg-config approach is to use pkg-config --static if you want to link that library statically.
Looks right to me. I think the complaint was that there was no way to specify the equivalent using wrapper compilers. I don't like the wrapper compiler model (certainly not for languages with a common ABI like C), but pkg-config doesn't have a good way to manage multiple configurations.
Mmmm. Ok. Brian and I are going to be in the same physical location next week; I'll chat with him about this.
> So the problem is almost exclusively one of binary compatibility. If an app or library is only linked to the interface libs, underlying system libraries can be upgraded to different soname without needing to relink the applications. For example, libhwloc could be upgraded to a different ABI, Open MPI rebuilt, and then the user application and intermediate MPI-based libraries would not need to be rebuilt. This is great for distributions and convenient if you work on projects with lots of dependencies.
> It's not such an issue for HPC applications because we tend to recompile a lot and don't need binary compatibility for many of the most common use cases. There is also the linker option -Wl,--as-needed that usually does what is desired.