Rmpi, lam, & Fedora 10
When you install lam, make sure to enable shared lib. The default one is static lib. Rmpi used to be OK with static mpi lib. Not any more. Hao
Richard A. Bilonick wrote:
I'm still working on getting Rmpi working on CentOS 5.3. At the same time, I thought I would try to install it on a dual opteron system with Fedora 10. I was able to install & boot lam and check to make sure it is working. I then installed Rmpi (telling it where to find things) and it compiled without any errors or warnings. So I'm making progress. However, when I start R (64-bit version 2.9.0) and load Rmpi I get:
library(Rmpi)
Error in dyn.load(file, DLLpath = DLLpath, ...) :
unable to load shared library
'/usr/lib64/R/library/Rmpi/libs/Rmpi.so':
libmpi.so.0: cannot open shared object file: No such file or directory
Error in library(Rmpi) : .First.lib failed for 'Rmpi'
Error in dyn.unload(file.path(libpath, "libs", paste("Rmpi", .Platform
$dynlib.ext, :
dynamic/shared library '/usr/lib64/R/library/Rmpi/libs/Rmpi.so' was
not loaded
I'm not sure what the difference is between Rmpi.so and Rmpi.so.0.
[goldy at dom libs]$ ll /usr/lib64/R/library/Rmpi/libs/Rmpi.so
-rwxr-xr-x 1 root root 109431 2009-05-12
09:48 /usr/lib64/R/library/Rmpi/libs/Rmpi.so
Any ideas on what went wrong and how to fix it?
I've included the output from installing Rmpi below.
Thanks.
Rick B.
[root at dom Download]# R CMD INSTALL Rmpi_0.5-7.tar.gz
--configure-args=--with-mpi=/usr/lib64/lam
* Installing to library \u2018/usr/lib64/R/library\u2019
* Installing *source* package \u2018Rmpi\u2019 ...
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
Try to find mpi.h ...
Found in /usr/lib64/lam/include
Try to find libmpi.so or libmpich.a
Found libmpi in /usr/lib64/lam/lib
Try to find liblam.so ...
Found liblam in /usr/lib64/lam/lib
checking for openpty in -lutil... yes
checking for main in -lpthread... yes
configure: creating ./config.status
config.status: creating src/Makevars
** libs
gcc -m64 -std=gnu99 -I/usr/include/R -DPACKAGE_NAME=\"\"
-DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
-DPACKAGE_BUGREPORT=\"\" -I/usr/lib64/lam/include -DMPI2 -DLAM -fPIC
-I/usr/local/include -fpic -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m64 -mtune=generic -c RegQuery.c -o
RegQuery.o
gcc -m64 -std=gnu99 -I/usr/include/R -DPACKAGE_NAME=\"\"
-DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
-DPACKAGE_BUGREPORT=\"\" -I/usr/lib64/lam/include -DMPI2 -DLAM -fPIC
-I/usr/local/include -fpic -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m64 -mtune=generic -c Rmpi.c -o Rmpi.o
gcc -m64 -std=gnu99 -I/usr/include/R -DPACKAGE_NAME=\"\"
-DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
-DPACKAGE_BUGREPORT=\"\" -I/usr/lib64/lam/include -DMPI2 -DLAM -fPIC
-I/usr/local/include -fpic -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m64 -mtune=generic -c conversion.c -o
conversion.o
gcc -m64 -std=gnu99 -I/usr/include/R -DPACKAGE_NAME=\"\"
-DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
-DPACKAGE_BUGREPORT=\"\" -I/usr/lib64/lam/include -DMPI2 -DLAM -fPIC
-I/usr/local/include -fpic -O2 -g -pipe -Wall
-Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector
--param=ssp-buffer-size=4 -m64 -mtune=generic -c internal.c -o
internal.o
gcc -m64 -std=gnu99 -shared -L/usr/local/lib64 -o Rmpi.so RegQuery.o
Rmpi.o conversion.o internal.o -L/usr/lib64/lam/lib -lmpi -llam -lutil
-lpthread -fPIC -L/usr/lib64/R/lib -lR
** R
** demo
** inst
** preparing package for lazy loading
** help
*** installing help indices
>>> Building/Updating help pages for package 'Rmpi'
Formats: text html latex example hosts text html latex internal text html latex mpi.abort text html latex mpi.apply text html latex example mpi.barrier text html latex mpi.bcast text html latex mpi.bcast.Robj text html latex mpi.bcast.cmd text html latex mpi.cart.coords text html latex example mpi.cart.create text html latex example mpi.cart.get text html latex example mpi.cart.rank text html latex example mpi.cart.shift text html latex example mpi.cartdim.get text html latex example mpi.comm text html latex example mpi.comm.disconnect text html latex mpi.comm.free text html latex mpi.comm.inter text html latex mpi.comm.set.errhandler text html latex mpi.comm.spawn text html latex mpi.const text html latex mpi.dims.create text html latex example mpi.exit text html latex mpi.finalize text html latex mpi.gather text html latex example mpi.gather.Robj text html latex example mpi.get.count text html latex mpi.get.processor.name text html latex mpi.get.sourcetag text html latex mpi.iapply text html latex mpi.info text html latex mpi.init.sprng text html latex mpi.intercomm.merge text html latex mpi.parSim text html latex mpi.parapply text html latex example mpi.probe text html latex mpi.realloc text html latex mpi.reduce text html latex mpi.remote.exec text html latex example mpi.scatter text html latex example mpi.scatter.Robj text html latex example mpi.send text html latex example mpi.send.Robj text html latex mpi.sendrecv text html latex example mpi.setup.rng text html latex mpi.spawn.Rslaves text html latex example mpi.universe.size text html latex mpi.wait text html latex ** building package indices ... * DONE (Rmpi) [root at dom Download]#
_______________________________________________ R-sig-hpc mailing list R-sig-hpc at r-project.org https://stat.ethz.ch/mailman/listinfo/r-sig-hpc
Department of Statistics & Actuarial Sciences Fax Phone#:(519)-661-3813 The University of Western Ontario Office Phone#:(519)-661-3622 London, Ontario N6A 5B7 http://www.stats.uwo.ca/faculty/yu