Hello,
I am not sure whether it helps you, but I was able to install it.
OpenSUSE 12.3
R version 3.0.1 Patched (2013-06-09 r62918)
pbdMPI version 0.1-6
gcc version 4.7.2
OpenMPI version 1.6.3
I didn't try with the most recent version of ompi (1.6.4).
Regards,
Pascal
On 07/06/13 21:42, Antoine Migeon wrote:> Hello,
>
> I try to install pbdMPI.
> Compilation successful, but load fails with segfault.
>
> Is anyone can help me?
>
> R version 3.0.0
> pbdMPI version 0.1-6
> Intel compiler version 13.1.1
> OpenMPI version 1.6.4-1
> CPU Intel x86_64
>
> # R CMD INSTALL pbdMPI_0.1-6.tar.gz
> ..
> ....
> checking for gcc... icc -std=gnu99
> checking whether the C compiler works... yes
> checking for C compiler default output file name... a.out
> checking for suffix of executables...
> checking whether we are cross compiling... no
> checking for suffix of object files... o
> checking whether we are using the GNU C compiler... yes
> checking whether icc -std=gnu99 accepts -g... yes
> checking for icc -std=gnu99 option to accept ISO C89... none needed
> checking for mpirun... mpirun
> checking for mpiexec... mpiexec
> checking for orterun... orterun
> checking for sed... /bin/sed
> checking for mpicc... mpicc
> checking for ompi_info... ompi_info
> checking for mpich2version... F
> found sed, mpicc, and ompi_info ...
>>> TMP_INC_DIRS = /opt/openmpi/1.6.4-1/intel-13.1.1/include
> checking /opt/openmpi/1.6.4-1/intel-13.1.1/include ...
> found /opt/openmpi/1.6.4-1/intel-13.1.1/include/mpi.h ...
>>> TMP_LIB_DIRS = /opt/openmpi/1.6.4-1/intel-13.1.1/lib64
> checking /opt/openmpi/1.6.4-1/intel-13.1.1/lib64 ...
> found /opt/openmpi/1.6.4-1/intel-13.1.1/lib64/libmpi.so ...
> found mpi.h and libmpi.so ...
>>> TMP_INC = /opt/openmpi/1.6.4-1/intel-13.1.1/include
>>> TMP_LIB = /opt/openmpi/1.6.4-1/intel-13.1.1/lib64
> checking for openpty in -lutil... yes
> checking for main in -lpthread... yes
>
> ******************* Results of pbdMPI package configure *****************
>
>>> TMP_INC = /opt/openmpi/1.6.4-1/intel-13.1.1/include
>>> TMP_LIB = /opt/openmpi/1.6.4-1/intel-13.1.1/lib64
>>> MPI_ROOT >>> MPITYPE = OPENMPI
>>> MPI_INCLUDE_PATH = /opt/openmpi/1.6.4-1/intel-13.1.1/include
>>> MPI_LIBPATH = /opt/openmpi/1.6.4-1/intel-13.1.1/lib64
>>> MPI_LIBS = -lutil -lpthread
>>> MPI_DEFS = -DMPI2
>>> MPI_INCL2 >>> PKG_CPPFLAGS =
-I/opt/openmpi/1.6.4-1/intel-13.1.1/include -DMPI2
> -DOPENMPI
>>> PKG_LIBS = -L/opt/openmpi/1.6.4-1/intel-13.1.1/lib64 -lmpi -lutil
> -lpthread
> *************************************************************************
> ..
> icc -std=gnu99 -I/usr/local/R/3.0.0/intel13/lib64/R/include -DNDEBUG
> -I/opt/openmpi/1.6.4-1/intel-13.1.1/include -DMPI2 -DOPENMPI -O3
> -fp-model precise -pc 64 -axAVX -fpic -O3 -fp-model precise -pc 64
> -axAVX -c comm_errors.c -o comm_errors.o
> icc -std=gnu99 -I/usr/local/R/3.0.0/intel13/lib64/R/include -DNDEBUG
> -I/opt/openmpi/1.6.4-1/intel-13.1.1/include -DMPI2 -DOPENMPI -O3
> -fp-model precise -pc 64 -axAVX -fpic -O3 -fp-model precise -pc 64
> -axAVX -c comm_sort_double.c -o comm_sort_double.o
> .
> ..
> ....
> ** testing if installed package can be loaded
> sh: line 1: 2905 Segmentation fault
> '/usr/local/R/3.0.0/intel13/lib64/R/bin/R' --no-save --slave
2>&1 <
> /tmp/RtmpGkncGK/file1e541c57190
> ERROR: loading failed
>
> *** caught segfault ***
> address (nil), cause 'unknown'
>
> Traceback:
> 1: .Call("spmd_initialize", PACKAGE = "pbdMPI")
> 2: fun(libname, pkgname)
> 3: doTryCatch(return(expr), name, parentenv, handler)
> 4: tryCatchOne(expr, names, parentenv, handlers[[1L]])
> 5: tryCatchList(expr, classes, parentenv, handlers)
> 6: tryCatch(fun(libname, pkgname), error = identity)
> 7: runHook(".onLoad", env, package.lib, package)
> 8: loadNamespace(package, c(which.lib.loc, lib.loc))
> 9: doTryCatch(return(expr), name, parentenv, handler)
> 10: tryCatchOne(expr, names, parentenv, handlers[[1L]])
> 11: tryCatchList(expr, classes, parentenv, handlers)
> 12: tryCatch(expr, error = function(e) { call <- conditionCall(e)
> if (!is.null(call)) { if (identical(call[[1L]],
> quote(doTryCatch))) call <- sys.call(-4L) dcall <-
> deparse(call)[1L] prefix <- paste("Error in", dcall,
": ")
> LONG <- 75L msg <- conditionMessage(e) sm <-
strsplit(msg,
> "\n")[[1L]] w <- 14L + nchar(dcall, type =
"w") + nchar(sm[1L],
> type = "w") if (is.na(w)) w <- 14L +
nchar(dcall,
> type = "b") + nchar(sm[1L], type = "b")
if (w >
> LONG) prefix <- paste0(prefix, "\n ") }
else prefix
> <- "Error : " msg <- paste0(prefix, conditionMessage(e),
"\n")
> .Internal(seterrmessage(msg[1L])) if (!silent &&
> identical(getOption("show.error.messages"), TRUE)) {
> cat(msg, file = stderr()) .Internal(printDeferredWarnings())
> } invisible(structure(msg, class = "try-error", condition =
e))})
> 13: try({ ns <- loadNamespace(package, c(which.lib.loc, lib.loc))
> env <- attachNamespace(ns, pos = pos, deps)})
> 14: library(pkg_name, lib.loc = lib, character.only = TRUE,
> logical.return = TRUE)
> 15: withCallingHandlers(expr, packageStartupMessage = function(c)
> invokeRestart("muffleMessage"))
> 16: suppressPackageStartupMessages(library(pkg_name, lib.loc = lib,
> character.only = TRUE, logical.return = TRUE))
> 17: doTryCatch(return(expr), name, parentenv, handler)
> 18: tryCatchOne(expr, names, parentenv, handlers[[1L]])
> 19: tryCatchList(expr, classes, parentenv, handlers)
> 20: tryCatch(expr, error = function(e) { call <- conditionCall(e)
> if (!is.null(call)) { if (identical(call[[1L]],
> quote(doTryCatch))) call <- sys.call(-4L) dcall <-
> deparse(call)[1L] prefix <- paste("Error in", dcall,
": ")
> LONG <- 75L msg <- conditionMessage(e) sm <-
strsplit(msg,
> "\n")[[1L]] w <- 14L + nchar(dcall, type =
"w") + nchar(sm[1L],
> type = "w") if (is.na(w)) w <- 14L +
nchar(dcall,
> type = "b") + nchar(sm[1L], type = "b")
if (w >
> LONG) prefix <- paste0(prefix, "\n ") }
else prefix
> <- "Error : " msg <- paste0(prefix, conditionMessage(e),
"\n")
> .Internal(seterrmessage(msg[1L])) if (!silent &&
> identical(getOption("show.error.messages"), TRUE)) {
> cat(msg, file = stderr()) .Internal(printDeferredWarnings())
> } invisible(structure(msg, class = "try-error", condition =
e))})
> 21: try(suppressPackageStartupMessages(library(pkg_name, lib.loc > lib,
character.only = TRUE, logical.return = TRUE)))
> 22: tools:::.test_load_package("pbdMPI",
> "/usr/local/R/3.0.0/intel13/lib64/R/library")
> aborting ...
>
>