Search code examples
rlinuxopenmpiparallel.foreach

loading Rmpi with openmpi 3.0.0 on Ubuntu throwing error


I've got some sore of a library problem when trying to install Rmpi, having installed openmpi 3.0.0 from source to /usr/local on Ubuntu 16.04.

open mpi seems to be installed correctly, mpirun --version works

When I try to install Rmpi using this command

sudo R CMD INSTALL ./Downloads/Rmpi_0.6-6.tar.gz --configure-args="--with-Rmpi-type={OPENMPI}"

It compiles fine, and finds the libraries

I am here /usr/local and it is OpenMPI
Trying to find mpi.h ...
Found in /usr/local/include
Trying to find libmpi.so or libmpich.a ...
Found libmpi in /usr/local/lib
checking for orted... yes
checking for openpty in -lutil... yes
checking for main in -lpthread... yes
configure: creating ./config.status

but when it does the load test I get

** testing if installed package can be loaded
*** An error occurred in MPI_Init
*** on a NULL communicator
*** MPI_ERRORS_ARE_FATAL (processes in this communicator will now abort,
***    and potentially your MPI job)

I've tried many things but still no luck. How can I track down the error in the connection to mpi?


Solution

  • Per the various exchanges in the comment section, it appears there is an issue when Open MPI is used as a plugin by Rmpi.

    The solution/workaround was to rebuild Open MPI from scratch and configure with the --disable-dlopen parameter.

    This might be related to the issue discussed in Open MPI