From Robert.McGehee at geodecapital.com  Mon Oct  9 22:41:56 2006
From: Robert.McGehee at geodecapital.com (McGehee, Robert)
Date: Mon, 9 Oct 2006 16:41:56 -0400
Subject: [Rd] Installing Rmpi on 64-bit Linux Athlon
Message-ID: <67DCA285A2D7754280D3B8E88EB548020C946933@MSGBOSCLB2WIN.DMN1.FMR.COM>

Hello,
We have recently added a 64-bit 2 x Dual-Core Athlon server running Red
Hat Enterprise Linux AS release 3 to allow for processing of large data
sets (>4GB) in R. To integrate this server into our Linux cluster, I
have been trying (unsuccessfully) to use Rmpi/lam-mpi to parallel
process some of our scripts. While I have successfully compiled R 2.4.0
and lam-mpi 7.1.2 on this server using a 64-bit architecture, I have not
been able to install Rmpi to interface with lam-mpi, despite success on
nearly identical servers in a 32-bit architecture. When trying on the
64-bit server, I receive the error "cannot find -lmpi" during
compilation (see below). 

If anyone has had success in this regards and notice an installation
problem that I may have overlooked, I would greatly appreciate any
advice. Note that because I do not have root access, all of the lam-mpi
and R files were installed locally.

Thanks in advance,
Robert

### Below is configuration scripts for R, Lam-MPI and Rmpi:

setenv LD_LIBRARY_PATH "-L$prefix/lib -L$prefix/lib64"
setenv prefix "/home/a347549/local64"

### R 2.4.0 Configure
./configure --prefix=$prefix --with-x
--with-tcl-config="$prefix/lib/tclConfig.sh"
--with-tk-config="$prefix/lib/tkConfig.sh"
--with-blas="-L$builddir/ATLAS/lib/Linux_HAMMER64SSE2_4 -lptf77blas
-lpthread -latlas"

### Lam-MPI 7.1.2 Configure:
./configure --prefix=$prefix --enable-shared --disable-static
--without-romio --with-rsh="ssh -xq"

### Rmpi INSTALL
R CMD INSTALL Rmpi --configure-args="--with-mpi=$prefix --prefix=$prefix
CC=mpicc" -l $R_LIBS

* Installing *source* package 'Rmpi' ...
Try to find mpi.h ...
Found in /gcm/home/a347549/local64/include
Try to find libmpi or libmpich ...
checking for main in -lmpi... yes
Try to find liblam ...
checking for main in -llam... yes
checking for openpty in -lutil... yes
checking for main in -lpthread... yes
configure: creating ./config.status
config.status: creating src/Makevars
** libs
gcc -I/gcm/home/a347549/local64/lib64/R/include
-I/gcm/home/a347549/local64/lib64/R/include -DPACKAGE_NAME=\"\"
-DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
-DPACKAGE_BUGREPORT=\"\"  -I/gcm/home/a347549/local64/include -DMPI2
-I/usr/local/include    -fpic  -g -O2 -std=gnu99 -c RegQuery.c -o
RegQuery.o
gcc -I/gcm/home/a347549/local64/lib64/R/include
-I/gcm/home/a347549/local64/lib64/R/include -DPACKAGE_NAME=\"\"
-DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
-DPACKAGE_BUGREPORT=\"\"  -I/gcm/home/a347549/local64/include -DMPI2
-I/usr/local/include    -fpic  -g -O2 -std=gnu99 -c Rmpi.c -o Rmpi.o
gcc -I/gcm/home/a347549/local64/lib64/R/include
-I/gcm/home/a347549/local64/lib64/R/include -DPACKAGE_NAME=\"\"
-DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
-DPACKAGE_BUGREPORT=\"\"  -I/gcm/home/a347549/local64/include -DMPI2
-I/usr/local/include    -fpic  -g -O2 -std=gnu99 -c conversion.c -o
conversion.o
gcc -I/gcm/home/a347549/local64/lib64/R/include
-I/gcm/home/a347549/local64/lib64/R/include -DPACKAGE_NAME=\"\"
-DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\" -DPACKAGE_STRING=\"\"
-DPACKAGE_BUGREPORT=\"\"  -I/gcm/home/a347549/local64/include -DMPI2
-I/usr/local/include    -fpic  -g -O2 -std=gnu99 -c internal.c -o
internal.o
gcc -shared -L/usr/local/lib64 -o Rmpi.so RegQuery.o Rmpi.o conversion.o
internal.o -lmpi -llam -lutil -lpthread   
/usr/bin/ld: cannot find -lmpi
collect2: ld returned 1 exit status
make: *** [Rmpi.so] Error 1
chmod: cannot access `/home/a347549/code/rlib64/Rmpi/libs/*': No such
file or directory
ERROR: compilation failed for package 'Rmpi'
** Removing '/home/a347549/code/rlib64/Rmpi'
[lwtc5.fmr.com/A347549] /home/a347549/code


############################################################
In addition, here is the output of Rmpi's config.log
############################################################

> cat config.log
This file contains any messages produced by compilers while
running configure, to aid debugging if configure makes a mistake.

It was created by configure, which was
generated by GNU Autoconf 2.59.  Invocation command line was

  $ ./configure --with-mpi=/gcm/home/a347549/local64
--prefix=/gcm/home/a347549/local64 CC=mpicc

## --------- ##
## Platform. ##
## --------- ##

hostname = lwtc5.fmr.com
uname -m = x86_64
uname -r = 2.6.9-34.0.1.ELsmp
uname -s = Linux
uname -v = #1 SMP Wed May 17 16:59:36 EDT 2006

/usr/bin/uname -p = unknown
/bin/uname -X     = unknown

/bin/arch              = x86_64
/usr/bin/arch -k       = unknown
/usr/convex/getsysinfo = unknown
hostinfo               = unknown
/bin/machine           = unknown
/usr/bin/oslevel       = unknown
/bin/universe          = unknown

PATH: /home/a347549/local64/java/bin
PATH: /home/a347549/local64/tibrv/bin
PATH: /home/a347549/local64/ant/bin
PATH: /home/a347549/local64/bin
PATH: /usr/bin/X11
PATH: /home/a347549/bin
PATH: /home/a347549/local64/java/bin
PATH: /home/a347549/local64/tibrv/bin
PATH: /home/a347549/local64/ant/bin
PATH: /home/a347549/local64/bin
PATH: /usr/bin/X11
PATH: /home/a347549/bin
PATH: /usr/kerberos/bin
PATH: /usr/local/bin
PATH: /bin
PATH: /usr/bin
PATH: /usr/X11R6/bin
PATH: .
PATH: .


## ----------- ##
## Core tests. ##
## ----------- ##

configure:2944: checking for main in -lmpi
configure:2968: mpicc -o conftest    conftest.c -lmpi   >&5
configure:2974: $? = 0
configure:2978: test -z 
			 || test ! -s conftest.err
configure:2981: $? = 0
configure:2984: test -s conftest
configure:2987: $? = 0
configure:3000: result: yes
configure:3018: checking for main in -llam
configure:3042: mpicc -o conftest    conftest.c -llam   >&5
configure:3048: $? = 0
configure:3052: test -z 
			 || test ! -s conftest.err
configure:3055: $? = 0
configure:3058: test -s conftest
configure:3061: $? = 0
configure:3074: result: yes
configure:3086: checking for openpty in -lutil
configure:3116: mpicc -o conftest    conftest.c -lutil   >&5
configure:3122: $? = 0
configure:3126: test -z 
			 || test ! -s conftest.err
configure:3129: $? = 0
configure:3132: test -s conftest
configure:3135: $? = 0
configure:3148: result: yes
configure:3154: checking for main in -lpthread
configure:3178: mpicc -o conftest    conftest.c -lpthread   >&5
configure:3184: $? = 0
configure:3188: test -z 
			 || test ! -s conftest.err
configure:3191: $? = 0
configure:3194: test -s conftest
configure:3197: $? = 0
configure:3210: result: yes
configure:3352: creating ./config.status

## ---------------------- ##
## Running config.status. ##
## ---------------------- ##

This file was extended by config.status, which was
generated by GNU Autoconf 2.59.  Invocation command line was

  CONFIG_FILES    = 
  CONFIG_HEADERS  = 
  CONFIG_LINKS    = 
  CONFIG_COMMANDS = 
  $ ./config.status 

on lwtc5.fmr.com

config.status:635: creating src/Makevars

## ---------------- ##
## Cache variables. ##
## ---------------- ##

ac_cv_env_CC_set=set
ac_cv_env_CC_value=mpicc
ac_cv_env_CFLAGS_set=
ac_cv_env_CFLAGS_value=
ac_cv_env_CPPFLAGS_set=
ac_cv_env_CPPFLAGS_value=
ac_cv_env_CPP_set=
ac_cv_env_CPP_value=
ac_cv_env_LDFLAGS_set=
ac_cv_env_LDFLAGS_value=
ac_cv_env_build_alias_set=
ac_cv_env_build_alias_value=
ac_cv_env_host_alias_set=
ac_cv_env_host_alias_value=
ac_cv_env_target_alias_set=
ac_cv_env_target_alias_value=
ac_cv_lib_lam_main=yes
ac_cv_lib_mpi_main=yes
ac_cv_lib_pthread_main=yes
ac_cv_lib_util_openpty=yes

## ----------------- ##
## Output variables. ##
## ----------------- ##

CC='mpicc'
CFLAGS=''
CPP=''
CPPFLAGS=''
DEFS='-DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\" -DPACKAGE_VERSION=\"\"
-DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\" '
ECHO_C=''
ECHO_N='-n'
ECHO_T=''
EGREP='grep -E'
EXEEXT=''
LDFLAGS=''
LIBOBJS=''
LIBS=''
LTLIBOBJS=''
OBJEXT=''
PACKAGE_BUGREPORT=''
PACKAGE_NAME=''
PACKAGE_STRING=''
PACKAGE_TARNAME=''
PACKAGE_VERSION=''
PATH_SEPARATOR=':'
PKG_CPPFLAGS='-I/gcm/home/a347549/local64/include -DMPI2'
PKG_LIBS='-lmpi -llam -lutil -lpthread'
SHELL='/bin/sh'
ac_ct_CC=''
bindir='${exec_prefix}/bin'
build_alias=''
datadir='${prefix}/share'
exec_prefix='${prefix}'
host_alias=''
includedir='${prefix}/include'
infodir='${prefix}/info'
libdir='${exec_prefix}/lib'
libexecdir='${exec_prefix}/libexec'
localstatedir='${prefix}/var'
mandir='${prefix}/man'
oldincludedir='/usr/include'
prefix='/gcm/home/a347549/local64'
program_transform_name='s,x,x,'
sbindir='${exec_prefix}/sbin'
sharedstatedir='${prefix}/com'
sysconfdir='${prefix}/etc'
target_alias=''

## ----------- ##
## confdefs.h. ##
## ----------- ##

#define PACKAGE_BUGREPORT ""
#define PACKAGE_NAME ""
#define PACKAGE_STRING ""
#define PACKAGE_TARNAME ""
#define PACKAGE_VERSION ""

configure: exit 0



Robert McGehee
Quantitative Analyst
Geode Capital Management, LLC
53 State Street, 5th Floor | Boston, MA | 02109
Tel: 617/392-8396    Fax:617/476-6389
mailto:robert.mcgehee at geodecapital.com



This e-mail, and any attachments hereto, are intended for us...{{dropped}}




[Rd] Installing Rmpi on 64-bit Linux Athlon
McGehee, Robert