On Tue, 24 Apr 2007, Hendrik Fu? wrote:
> Hi,
>
> I've been trying here to install Rmpi on an SGI IA-64 machine with 64
> processors, running SuSE Linux Enterprise Server 9, R 2.4.0 and
> lam-mpi 7.1.3. While I've read of similar problems on this list, I
> think I've got an entirely new set of error messages to contribute
> (see below). I'm not sure what the actual error is and what the @gprel
> relocation message is about. Any help greatly appreciated.
I don't know for sure, but on many 64-bit OSes you cannot link code from
static libraries into dynamic shared libraries, and that seems to be the
case with ia64 Linux. Almost certainly you need to re-compile LAM with
-fPIC flags.
>
> thanks
> Hendrik
>
>
> behemoth:~/Rmpi # R CMD INSTALL /home/hfuss/build/Rmpi_0.5-3.tar.gz
> --configure-args=--with-mpi=/usr/local/lam-mpi
> * Installing *source* package 'Rmpi' ...
> Try to find mpi.h ...
> Found in /usr/local/lam-mpi/include
> Try to find libmpi or libmpich ...
> Found libmpi in /usr/local/lam-mpi/lib
> Try to find liblam ...
> Found liblam in /usr/local/lam-mpi/lib
> checking for openpty in -lutil... no
> checking for main in -lpthread... no
> configure: creating ./config.status
> config.status: creating src/Makevars
> ** libs
> gcc -I/usr/local/lib/R/include -I/usr/local/lib/R/include
> -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\"
-DPACKAGE_VERSION=\"\"
> -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\"
> -I/usr/local/lam-mpi/include -DMPI2 -I/usr/local/include -fpic -g
> -O2 -std=gnu99 -c RegQuery.c -o RegQuery.o
> gcc -I/usr/local/lib/R/include -I/usr/local/lib/R/include
> -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\"
-DPACKAGE_VERSION=\"\"
> -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\"
> -I/usr/local/lam-mpi/include -DMPI2 -I/usr/local/include -fpic -g
> -O2 -std=gnu99 -c Rmpi.c -o Rmpi.o
> gcc -I/usr/local/lib/R/include -I/usr/local/lib/R/include
> -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\"
-DPACKAGE_VERSION=\"\"
> -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\"
> -I/usr/local/lam-mpi/include -DMPI2 -I/usr/local/include -fpic -g
> -O2 -std=gnu99 -c conversion.c -o conversion.o
> gcc -I/usr/local/lib/R/include -I/usr/local/lib/R/include
> -DPACKAGE_NAME=\"\" -DPACKAGE_TARNAME=\"\"
-DPACKAGE_VERSION=\"\"
> -DPACKAGE_STRING=\"\" -DPACKAGE_BUGREPORT=\"\"
> -I/usr/local/lam-mpi/include -DMPI2 -I/usr/local/include -fpic -g
> -O2 -std=gnu99 -c internal.c -o internal.o
> gcc -shared -L/usr/local/lib -o Rmpi.so RegQuery.o Rmpi.o conversion.o
> internal.o -L/usr/local/lam-mpi/lib -lmpi -llam
> /usr/lib/gcc-lib/ia64-suse-linux/3.3.3/../../../../ia64-suse-linux/bin/ld:
> /usr/local/lam-mpi/lib/libmpi.a(laminit.o): @gprel relocation against
> dynamic symbol lam_comms
> /usr/lib/gcc-lib/ia64-suse-linux/3.3.3/../../../../ia64-suse-linux/bin/ld:
> /usr/local/lam-mpi/lib/libmpi.a(laminit.o): @gprel relocation against
> dynamic symbol lam_argv0
> /usr/lib/gcc-lib/ia64-suse-linux/3.3.3/../../../../ia64-suse-linux/bin/ld:
> /usr/local/lam-mpi/lib/libmpi.a(laminit.o): @gprel relocation against
> dynamic symbol lam_mpi_ao
> /usr/lib/gcc-lib/ia64-suse-linux/3.3.3/../../../../ia64-suse-linux/bin/ld:
> /usr/local/lam-mpi/lib/libmpi.a(laminit.o): @gprel relocation against
> dynamic symbol lam_ger
> /usr/lib/gcc-lib/ia64-suse-linux/3.3.3/../../../../ia64-suse-linux/bin/ld:
> /usr/local/lam-mpi/lib/libmpi.a(laminit.o): @gprel relocation against
> dynamic symbol lam_c2c
> /usr/lib/gcc-lib/ia64-suse-linux/3.3.3/../../../../ia64-suse-linux/bin/ld:
> /usr/local/lam-mpi/lib/libmpi.a(laminit.o): @gprel relocation against
> dynamic symbol lam_appnum
> /usr/lib/gcc-lib/ia64-suse-linux/3.3.3/../../../../ia64-suse-linux/bin/ld:
> /usr/local/lam-mpi/lib/libmpi.a(laminit.o): @gprel relocation against
> dynamic symbol lam_universe_size
> /usr/lib/gcc-lib/ia64-suse-linux/3.3.3/../../../../ia64-suse-linux/bin/ld:
> /usr/local/lam-mpi/lib/libmpi.a(laminit.o): @gprel relocation against
> dynamic symbol lam_jobid
> /usr/lib/gcc-lib/ia64-suse-linux/3.3.3/../../../../ia64-suse-linux/bin/ld:
> /usr/local/lam-mpi/lib/libmpi.a(laminit.o): @gprel relocation against
> dynamic symbol lam_jobid
> /usr/lib/gcc-lib/ia64-suse-linux/3.3.3/../../../../ia64-suse-linux/bin/ld:
> /usr/local/lam-mpi/lib/libmpi.a(laminit.o): @gprel relocation against
> dynamic symbol lam_mpi_ao
> /usr/lib/gcc-lib/ia64-suse-linux/3.3.3/../../../../ia64-suse-linux/bin/ld:
> /usr/local/lam-mpi/lib/libmpi.a(laminit.o): @gprel relocation against
> dynamic symbol lam_ger
> /usr/lib/gcc-lib/ia64-suse-linux/3.3.3/../../../../ia64-suse-linux/bin/ld:
> /usr/local/lam-mpi/lib/libmpi.a(laminit.o): @gprel relocation against
> dynamic symbol lam_c2c
> /usr/lib/gcc-lib/ia64-suse-linux/3.3.3/../../../../ia64-suse-linux/bin/ld:
> /usr/local/lam-mpi/lib/libmpi.a(laminit.o): @gprel relocation against
> dynamic symbol lam_appnum
> /usr/lib/gcc-lib/ia64-suse-linux/3.3.3/../../../../ia64-suse-linux/bin/ld:
> /usr/local/lam-mpi/lib/libmpi.a(laminit.o): @gprel relocation against
> dynamic symbol lam_universe_size
> /usr/lib/gcc-lib/ia64-suse-linux/3.3.3/../../../../ia64-suse-linux/bin/ld:
> /usr/local/lam-mpi/lib/libmpi.a(laminit.o): @gprel relocation against
> dynamic symbol lam_mpi_ao
> /usr/lib/gcc-lib/ia64-suse-linux/3.3.3/../../../../ia64-suse-linux/bin/ld:
> /usr/local/lam-mpi/lib/libmpi.a(laminit.o): @gprel relocation against
> dynamic symbol lam_clockskew
> collect2: ld returned 1 exit status
> make: *** [Rmpi.so] Error 1
> chmod: cannot access `/usr/local/lib/R/library/Rmpi/libs/*': No such
> file or directory
> ERROR: compilation failed for package 'Rmpi'
> ** Removing '/usr/local/lib/R/library/Rmpi'
>
>
>
--
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595