LALInference, OpenMPI, and RHEL8
I've been trying to get all of LALSuite building on RL8, and the most recent hold up has been LALInference and it's dependency on healpy
as this wasn't available. I took the versions of healpix
and healpy
from Fedora 28 (which RHEL8 is essenitally based on) and rebuilt these for RL8:
- https://koji.ligo-la.caltech.edu/koji/buildinfo?buildID=5115 (healpix)
- https://koji.ligo-la.caltech.edu/koji/buildinfo?buildID=5125 (python-healpy)
They install without issue.
I then proceeded to try to build the most recent LALInference release, that built but it fails when trying to install the package:
[root@staging /]# dnf install lalinference
Last metadata expiration check: 0:04:38 ago on Wed May 3 22:13:16 2023.
Error:
Problem: conflicting requests
- nothing provides libmpi.so.40()(64bit) needed by lalinference-4.1.3-1.el8.x86_64
(try to add '--skip-broken' to skip uninstallable packages or '--nobest' to use not only best candidate packages)
[root@staging /]#
The libmpi.so.40
library is provided by the openmpi
package:
[root@staging /]# repoquery -l openmpi | grep libmpi.so.40
Last metadata expiration check: 0:00:04 ago on Wed May 3 22:25:20 2023.
/usr/lib/openmpi/lib/libmpi.so.40
/usr/lib/openmpi/lib/libmpi.so.40.30.1
/usr/lib64/openmpi/lib/libmpi.so.40
/usr/lib64/openmpi/lib/libmpi.so.40.30.1
[root@staging /]#
openmpi-devel
is listed as a build dependency but openmpi
is not listed as a runtime dependency. Manually installing openmpi
results in the same error, but that is not the problem, the issue seems to be that the full path of the library is not being captured so the dependency can't be found.
I am not very familiar with OpenMPI, is there a configuration step needed to ensure the correct paths are captured?