On Mittwoch, 6. März 2019 01:37:30 CET Stefan Brüns wrote:
Hi everyone,
Currently, Python bindings to MPI-using libraries is one of the larger omissions we currently have - these are either not build for the MPI flavors at all, or the serial and MPI flavors are conflicting, as all install into the same prefix. [...]
If this is accepted, there are still a few open points (I will use Python3 and openMPI hereafter, without loss of generality):
1. Prefix to use 2. Additional rpm macros 3. Setting the env variables - modules vs mpi-selector
1. - Regular Python prefix is /usr, with packages living in e.g. /usr/lib64/ python3.7/site-packages. openMPI uses a prefix of /usr/lib64/mpi/gcc/openmpi/ Proposal: MPI specific packages go into /usr/lib64/mpi/gcc/openmpi/lib64/mpi/ gcc/openmpi/ This would only require the typical call to %{pyton_install} to be ammended by a '--prefix /usr/lib64/mpi/gcc/openmpi/'
Note - this is different to Fedora which uses %{python_sitearch}/%{flavor}
2. - We need some additional macros here. setup.py adds a suitable path to the prefix, but this is not available currently, we need something like % {python_mpi_sitearch} e.g. for the %files sections.
I have created a _multibuild for mpi4py, which uses these conventions: https://build.opensuse.org/package/show/ home:StefanBruens:branches:devel:languages:python:numeric/python-mpi4py The package redefines the %{python_sitearch} macro to accept a prefix parameter, i.e. %{python_sitearch %{mpi_prefix}}, where %{mpi_prefix} is defined to e.g. /usr/lib64/mpi/gcc/openmpi/. This macro should of course be part of the regular python macro package. The prefix should be optional, or the macro be renamed. I have reused the name as otherwise it would not be substituted correctly by the lua code. Kind regards, Stefan -- To unsubscribe, e-mail: opensuse-science+unsubscribe@opensuse.org To contact the owner, e-mail: opensuse-science+owner@opensuse.org