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.

Reply via email to