Thanks for your analysis. On Sat, Feb 27, 2016 at 3:19 PM, Jeff Squyres (jsquyres) <jsquy...@cisco.com> wrote: > [...] > 1. osmcomp should not have installed a .la file for a default linker location
Probably not, although the no-brainer default solution does this (plus, the .la files say "do not delete"...). > 2. Libtool is assuming that .la files are only available for non-default > linker locations, and therefore adds a -L for each directory where it finds a > .la file > > #1 can probably easily be fixed by the packager. > #2 is probably not unreasonable to assume, but certainly could also benefit > from a more rigorous check at run-time. > > Neither of these are fixable by Open MPI, unfortunately. I understand that. >> It still does not look good that the libmpi.la file has the following: >> >> dependency_libs=' -losmcomp -libverbs >> /tmp/openmpi-1.10.2/orte/libopen-rte.la >> /tmp/openmpi-1.10.2/opal/libopen-pal.la -lnuma -ldl -lrt -lm -lutil' > > Why does this not look good? Because my general rule of thumb about link-related command lines is "my stuff first, then the stuff I depend on". But here it's more complicated because everything gets slightly shuffled by libtool anyway. I would not have encountered an issue if the -L/usr/lib pulled by /usr/lib/libosmcomp.la had been *after* the opal & orte libs. >> I have the impression that having -losmcomp -libverbs *after* the opal >> and orte .la files would be better. I don't see how to achieve this, >> though (just playing with ompi/Makefile.am at the moment, to no avail >> so far). > > I'm not sure that this would have any effect. > > Note, too, that 1.10.2 has a bug that one of the core Open MPI libs has a > dependency on libibverbs (only Open MPI's plugins are supposed to be > dependent upon libibverbs). This was a mistake that is fixed in the 1.10.3 > nightly tarballs. Indeed, fixing this bug may have the side-effect of fixing > your issue. Is it libmca_common_verbs_usnic ? It seems to be the one which pulls osmcomp as well (which, if I follow the same reasoning, has absolutely no reason to be a dependency of libmpi). Best, E.