Packaging question on MPI requires

Zbigniew Jędrzejewski-Szmek zbyszek at in.waw.pl
Fri Oct 23 04:22:23 UTC 2015


On Thu, Oct 22, 2015 at 10:38:53PM +0100, Dave Love wrote:
> Sandro Mani <manisandro at gmail.com> writes:
> 
> > On 22.10.2015 16:54, Sandro Mani wrote:
> 
> > So the package is installing pynestkernel.so in
> > /usr/lib64/python2.7/site-packages/nest/pynestkernel.so. However, the
> > dependency generator expects MPI-enabled binaries to be in one of
> > several known MPI directories, which are
> >
> > $MPI_HOME = %{_libdir}/$MPI_NAME
> > $MPI_FORTRAN_MOD_DIR = %{_libdir}/gfortran/modules/$MPI_NAME
> > $MPI_PYTHON_SITEARCH = %{python2_sitearch}/$MPI_NAME
> > $MPI_PYTHON3_SITEARCH = %{python3_sitearch}/$MPI_NAME
> >
> > where $MPI_NAME is openmpi or mpich.
> >
> > So you should install the mpi-enabled pynest in the appropriate
> > $MPI_PYTHON_SITEARCH directory.
> 
> What are you supposed to do with MPI packaging for another language such
> as R?  By the sound of it
> <https://copr.fedoraproject.org/coprs/loveshack/livhpc/package/R-pbdMPI/>
> and friends will fail now.
As a short-term solution, it is always possible to skip automatic
generation of Requires, and add whatever is necessary by hand.
In the long run, packaging should be changed to be similar to Python:
1. an MPI-implementation specific directory should be used for R modules
2. the dependency generator should be taught to scan this directory

The situation for R is a bit simpler, because (afaik) only one version
of R is packaged in the distrubution.

Note that currently, /usr/lib64/R/library/pbdMPI/libs/pbdMPI.so from R-pbdMPI
only works with one MPI implementation, but Fedora has two, and support
others, and the module cannot be made to work with both while installed
in this location.

Zbyszek


More information about the devel mailing list