The difference is in that 2nd bracket section.
The context is that MPI is a specification for message passing parallel compute framework.
openmpi is a implementation. openmpi is installed.
boost.mpi is a C++ Boost library that can hook up to openmpi or other mpi impls.
Fedora handles this with some RPM macro magic somewhere. I think you’ll have to use and/or emulate that as needed. I wasn’t seeing it by the wiki page below, but asking of the discussion forum may find someone more familiar with the mechanisms.
It may require building the RPM on a Fedora box or Fedora chroot/container. There may be some Fedora additional macro configuration present when built in a Fedora environment.
explains that
"This is handled by the rpm automatic provides generator in rpm-mpi-hooks - /usr/lib/rpm/mpi.req. It expects that you have the related mpi/ modules installed that can be loaded and define MPI_HOME and MPI_COMPILER. Then files that are installed into MPI_HOME get MPI_COMPILER inserted into the third parens. "
rpm-mpi-hooks is a rpm package that i have installed. Its description:
“RPM dependency generator hooks for MPI packages. This package should be added
as a BuildRequires to all mpi implementations (i.e. openmpi, mpich) as well as
a Requires to the their -devel packages”
There are many bits to wrap my head around here
build box: where I build via cmake build, followed by cmake install / cpack to produce the .rpm files.
install box: where I send the .rpm files to install
both have this “rpm-mpi-hooks” package.
Is there something to do in the CPack RPM generator to handle this case?
That is, unfortunately, beyond my RPM knowledge. AFAIK, there’s nothing special in Fedora’s .spec files to get this stuff. Maybe CPack is suppressing it somehow inadvertently?