Mailinglist Archive: opensuse-factory (188 mails)

< Previous Next >
Re: [opensuse-factory] openMPI mixup in Tumbleweed/Leap 15.x
  • From: Stefan Brüns <stefan.bruens@xxxxxxxxxxxxxx>
  • Date: Sun, 9 Dec 2018 16:28:01 +0100
  • Message-id: <30901811.pFFVssWzVR@pebbles>
On Sonntag, 9. Dezember 2018 11:02:19 CET Chris Coutinho wrote:
For what it's worth, I use `mpi-selector` to set a system-wide MPI
implementation and then switch between them. This keeps MPI libraries
from clashing when I build software from source.

I'm not sure if the openSUSE packages use this method, but it works for
packages I build myself really well. Are you building hdf5 and/or netcdf
yourself?

Cheers,
Chris

Sorry, but you have not understood the problem at hand:

Currently, e.g. boost is build with openmpi2, and references the openmpi2
soname (libmpi.so.20). HDF5 is built with openmpi1, and references the
openmpi1 soname(libmpi.so.12).

After building, the soname are fixed in the libraries, and while you can
switch e.g. between mvapich2 and openmpi1 (both use libmpi.so.12 for the
soname) at runtime, you can *not* switch between openmpi1 and openmpi2.

When a program uses both hdf5 and boost, it indirectly links *both* libmpi.so.
12 and libmpi.so.20. Both libraries export the same symbols, and how the
dynamic linker resolves these symbols is unspecified.

This is not about mpi-selector or similar mechanisms. This is about building
packages which are part of the distribution.

Kind regards,

Stefan
--
Stefan Brüns / Bergstraße 21 / 52062 Aachen
home: +49 241 53809034 mobile: +49 151 50412019
< Previous Next >