Open MPI logo

Open MPI User's Mailing List Archives

  |   Home   |   Support   |   FAQ   |   all Open MPI User's mailing list

Subject: Re: [OMPI users] trying to use personal copy of 1.7.4
From: Bennet Fauber (bennet_at_[hidden])
Date: 2014-03-12 10:52:22


My experience with Rmpi and OpenMPI is that it doesn't seem to do well
with the dlopen or dynamic loading. I recently installed R 3.0.3, and
Rmpi, which failed when built against our standard OpenMPI but
succeeded using the following 'secret recipe'. Perhaps there is
something here that will be helpful for you.

### Install openmpi 1.6.5

export PREFIX=/scratch/support_flux/
bennet/local
COMPILERS='CC=gcc CXX=g++ FC=gfortran F77=gfortran'
CONFIGURE_FLAGS='--disable-dlopen --enable-static'
cd openmpi-1.6.5
./configure --prefix=${PREFIX} \
   --mandir=${PREFIX}/man \
   --with-tm=/usr/local/torque \
   --with-openib --with-psm \
   --with-io-romio-flags='--with-file-system=testfs+ufs+nfs+lustre' \
   $CONFIGURE_FLAGS \
   $COMPILERS
make
make check
make install

### Install R 3.0.3

wget http://cran.case.edu/src/base/R-3/R-3.0.3.tar.gz
tar xzvf R-3.0.3.tar.gz
cd R-3.0.3

export MPI_HOME=/scratch/support_
flux/bennet/local
export LD_LIBRARY_PATH=$MPI_HOME/lib:${LD_LIBRARY_PATH}
export LD_LIBRARY_PATH=$MPI_HOME/openmpi:${LD_LIBRARY_PATH}
export PATH=${PATH}:${MPI_HOME}/bin
export LDFLAGS='-Wl,-O1'
export R_PAPERSIZE=letter
export R_INST=${PREFIX}
export FFLAGS='-O3 -mtune=native'
export CFLAGS='-O3 -mtune=native'
./configure --prefix=${R_INST} --mandir=${R_INST}/man
--enable-R-shlib --without-x
make
make check
make install
wget http://www.stats.uwo.ca/faculty/yu/Rmpi/download/linux/Rmpi_0.6-3.tar.gz
R CMD INSTALL Rmpi_0.6-3.tar.gz \
   --configure-args="--with-Rmpi-include=$MPI_HOME/include
--with-Rmpi-libpath=$MPI_HOME/lib --with-Rmpi-type=OPENMPI"

Make sure environment variables and paths are set

MPI_HOME=/home/software/rhel6/openmpi-1.6.5/gcc-4.4.7-static
PATH=/home/software/rhel6/openmpi-1.6.5/gcc-4.4.7-static/bin
LD_LIBRARY_PATH=$LD_LIBRARY_PATH}:/home/software/rhel6/openmpi-1.6.5/gcc-4.4.7-static/lib
LD_LIBRARY_PATH=$LD_LIBRARY_PATH}:/home/software/rhel6/openmpi-1.6.5/gcc-4.4.7-static/lib/openmpi
PATH=/home/software/rhel6/R/3.0.3/bin:$LD_LIBRARY_PATH}
LD_LIBRARY_PATH=/home/software/rhel6/R/3.0.3/lib64/R/lib:$LD_LIBRARY_PATH}

## Then install snow with
R
> install.packages('snow')
[ . . . .

I think the key thing is the --disable-dlopen, though it might require
both. Jeff Squyres had a post about this quite a while ago that gives
more detail about what's happening:

http://www.open-mpi.org/community/lists/devel/2012/04/10840.php

-- bennet