Re: [R] cannot load pbdMPI package after compilation

2013-11-26 Thread Antoine Migeon
Hello,

I solved my problem with new version :

- R version 3.0.2
- pbdMPI version 0.2-1
- Intel compiler version 13.1.3
- OpenMPI version 1.6.5


Options for compiling R :

export CC=icc
export CXX=icpc
export F77=ifort
export FC=ifort
export AR=xiar
export LD=xild
export IFLAGS=-O3 -fp-model precise  -pc 64 -axAVX -fPIC -openmp
export CFLAGS=$IFLAGS
export CXXFLAGS=$IFLAGS
export CPPFLAGS=$IFLAGS
export FFLAGS=$IFLAGS
export FCFLAGS=$IFLAGS
export MKL=-lmkl_gf_lp64 -lmkl_intel_thread  -lmkl_core -liomp5 -lpthread


./configure --with-system-zlib --with-system-bzlib --with-system-pcre \
 --with-blas=$MKL\
 --with-lapack \
 --with-tcl-config=/usr/lib64/tclConfig.sh \
 --with-tk-config=/usr/lib64/tkConfig.sh \
 --enable-R-shlib \
 --enable-prebuilt-html \
 --with-recommended-packages \
 --prefix=${MY_INSTALL_DIR} 21 | tee configure.txt


Options for installing Rmpi :

export 
LD_LIBRARY_PATH=${LD_LIBRARY_PATH}:/usr/local/openmpi/1.6.5/intel/13.1.3/lib/ 

install.packages(Rmpi,dependencies = TRUE,
configure.args = c(
--with-Rmpi-include=/usr/local/openmpi/1.6.5/intel/13.1.3/include/,
--with-Rmpi-libpath=/usr/local/openmpi/1.6.5/intel/13.1.3/lib/,
--with-Rmpi-type=OPENMPI
))


No special options for pbdMPI :

install.packages(pbdMPI,dependencies = TRUE)
install.packages(pbdBase,dependencies = TRUE)


Regards

Antoine

Le 10/06/2013 14:15, Antoine Migeon a écrit :
 Thank you, I will try contact the developper.

 Antoine Migeon
 Université de Bourgogne
 Centre de Calcul et Messagerie
 Direction des Systèmes d'Information

 tel : 03 80 39 52 70
 Site du CCUB : http://www.u-bourgogne.fr/dsi-ccub

 Le 10/06/2013 08:19, Prof Brian Ripley a écrit :
 On 10/06/2013 03:17, Pascal Oettli wrote:
 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).
 But the system used to accept that version of pdbMPI for CRAN used it,
 with gcc.

 The issue here is likely to be using the Intel compiler with OpenMPI.
 This is a programming matter really off-topic for R-help (see the
 posting guide).  The first port of call for help is the package
 maintainer, then if that does not help, the R-devel list.  But very
 few R users have access to an Intel compiler, let alone one as recent
 as that, and you will be expected to use a debugger for yourself (see
 'Writing R Extensions').

 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 

Re: [R] cannot load pbdMPI package after compilation

2013-06-10 Thread Prof Brian Ripley

On 10/06/2013 03:17, Pascal Oettli wrote:

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).


But the system used to accept that version of pdbMPI for CRAN used it, 
with gcc.


The issue here is likely to be using the Intel compiler with OpenMPI. 
This is a programming matter really off-topic for R-help (see the 
posting guide).  The first port of call for help is the package 
maintainer, then if that does not help, the R-devel list.  But very few 
R users have access to an Intel compiler, let alone one as recent as 
that, and you will be expected to use a debugger for yourself (see 
'Writing R Extensions').




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 21 
/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 - 75Lmsg - 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, 

Re: [R] cannot load pbdMPI package after compilation

2013-06-10 Thread Antoine Migeon
Thank you, I will try contact the developper.

Antoine Migeon
Université de Bourgogne
Centre de Calcul et Messagerie
Direction des Systèmes d'Information

tel : 03 80 39 52 70
Site du CCUB : http://www.u-bourgogne.fr/dsi-ccub

Le 10/06/2013 08:19, Prof Brian Ripley a écrit :
 On 10/06/2013 03:17, Pascal Oettli wrote:
 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).

 But the system used to accept that version of pdbMPI for CRAN used it,
 with gcc.

 The issue here is likely to be using the Intel compiler with OpenMPI.
 This is a programming matter really off-topic for R-help (see the
 posting guide).  The first port of call for help is the package
 maintainer, then if that does not help, the R-devel list.  But very
 few R users have access to an Intel compiler, let alone one as recent
 as that, and you will be expected to use a debugger for yourself (see
 'Writing R Extensions').


 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 21 
 /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 

Re: [R] cannot load pbdMPI package after compilation

2013-06-09 Thread Pascal Oettli

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 21 
/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 - 75Lmsg - 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: 

[R] cannot load pbdMPI package after compilation

2013-06-07 Thread Antoine Migeon
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 21 
/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 - 75Lmsg - 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 =