Subject: bug#74010: openmpi@5 requires propagated libraries

From: Andreas Enge <[email-masked]>
Date: Fri, 25 Oct 2024 13:13:26 +0200

Am Fri, Oct 25, 2024 at 12:31:29PM +0200 schrieb Ludovic Courtès:
> It looks like the culprit is not pkg-config but Libtool:
> --8<---------------cut here---------------start------------->8---
> $ cat $(guix build openmpi@5 |grep -v debug)/lib/libmpi.la |grep ^dependency_libs
> dependency_libs='
> ...
> /gnu/store/0f6bjfrf9kkdqh27y0bab9x9b4i8w5gi-libfabric-1.22.0/lib/libfabric.la -lrdmacm -lefa -libverbs -lpsm2 /gnu/store/zzpbp6rr43smwxzvzd4qd317z5j7qblj-gcc-11.4.0-lib/lib/libatomic.la -lpthread

This part comes from libfabric, which has this line in 
/gnu/store/0f6bjfrf9kkdqh27y0bab9x9b4i8w5gi-libfabric-1.22.0/lib/libfabric.la :
dependency_libs=' -lrdmacm -lefa -libverbs -lpsm2 /gnu/store/zzpbp6rr43smwxzvzd4qd317z5j7qblj-gcc-11.4.0-lib/lib/libatomic.la -lpthread -ldl'

But both openmpi@4 and @5 depend on libfabric, so this does not explain
the difference.

Then I do not understand why one of the libraries has an absolute path,
and the others just their name. Maybe something should be changed in
the building of libfabric?

But indeed my code using openmpi@4 does not link with libfabric, as you
noticed, and it works nevertheless.

Andreas