[R-sig-hpc] Trouble compiling R-3.0.0 an a Linux Cluster

Martin Ivanov martin.ivanov at ifg.uni-tuebingen.de
Mon Apr 29 15:40:05 CEST 2013


Dear All,

I am trying to compile R-3.0.0 on Cray xe6 (HLRS) HERMIT, no success so far.
Here is my experience:

I use this to configure and make R:

CC="cc" \
CXX="CC" \
F77="ftn" \
FC="ftn" \
CPPFLAGS="-I$PREFIX/include" \
LDFLAGS="-L$PREFIX/lib${LIBDIRSUFFIX}" \
./configure --prefix=$PREFIX \
--exec-prefix=$PREFIX \
--bindir=$PREFIX/bin \
--sbindir=$PREFIX/sbin \
--sysconfdir=$PKG/etc \
--localstatedir=$PKG/var \
--libdir=$PREFIX/lib${LIBDIRSUFFIX} \
--datarootdir=$PREFIX/share \
--datadir=$PREFIX/share \
--infodir=$PREFIX/info \
--mandir=$PREFIX/man \
--docdir=$PREFIX/doc/$PRGNAM-$VERSION \
rdocdir=$PREFIX/doc/$PRGNAM-$VERSION \
rincludedir=$PREFIX/include \
rsharedir=$PREFIX/share \
--disable-BLAS-shlib \
--with-blas \
--with-lapack \
--without-x \
|| exit 1

make || exit 1

My environment is as follows:

1) modules/3.2.6.7 13) udreg/2.3.2-1.0401.5929.3.3.gem 25) 
configuration/1.0-1.0401.35391.1.2.gem
2) xtpe-network-gemini 14) ugni/4.0-1.0401.5928.9.5.gem 26) 
hosts/1.0-1.0401.35364.1.115.gem
3) xtpe-interlagos 15) pmi/4.0.1-1.0000.9421.73.3.gem 27) 
lbcd/2.1-1.0401.35360.1.2.gem
4) cray-mpich2/5.6.4 16) dmapp/3.2.1-1.0401.5983.4.5.gem 28) 
nodehealth/5.0-1.0401.38460.12.18.gem
5) eswrap/1.0.9 17) gni-headers/2.1-1.0401.5675.4.4.gem 29) 
pdsh/2.26-1.0401.37449.1.1.gem
6) torque/2.5.9 18) xpmem/0.1-2.0401.36790.4.3.gem 30) 
shared-root/1.0-1.0401.37253.3.50.gem
7) moab/6.1.5.s1992 19) job/1.5.5-0.1_2.0401.35380.1.10.gem 31) 
switch/1.0-1.0401.36779.2.72.gem
8) system/ws_tools 20) csa/3.0.0-1_2.0401.37452.4.50.gem 32) 
xe-sysroot/4.1.40
9) system/hlrs-defaults 21) dvs/1.8.6_0.9.0-1.0401.1401.1.120 33) atp/1.6.2
10) xt-asyncpe/5.19 22) rca/1.0.0-2.0401.38656.2.2.gem
11) gcc/4.7.2 23) audit/1.0.0-1.0401.37969.2.32.gem
12) xt-libsci/12.0.01 24) ccm/2.2.0-1.0401.37254.2.142

1. PrgEnv-gnu/4.1.40
checking for C libraries of cc -std=gnu99... 
-L/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/system/usr/lib64 
-L/opt/cray/udreg/2.3.2-1.0401.5929.3.3.gem/lib64 
-L/opt/cray/ugni/4.0-1.0401.5928.9.5.gem/lib64 
-L/opt/cray/pmi/4.0.1-1.0000.9421.73.3.gem/lib64 
-L/opt/cray/dmapp/3.2.1-1.0401.5983.4.5.gem/lib64 
-L/opt/cray/xpmem/0.1-2.0401.36790.4.3.gem/lib64 
-L/opt/cray/rca/1.0.0-2.0401.38656.2.2.gem/lib64 
-L/opt/cray/mpt/5.6.4/gni/mpich2-gnu/47/lib 
-L/opt/cray/libsci/12.0.01/gnu/47/interlagos/lib 
-L/opt/cray/xe-sysroot/4.1.40/usr/lib64 
-L/opt/cray/xe-sysroot/4.1.40/lib64 
-L/opt/cray/xe-sysroot/4.1.40/usr/lib/alps -L/usr/lib/alps 
-L/opt/gcc/4.7.2/snos/lib/gcc/x86_64-suse-linux/4.7.2 
-L/opt/gcc/4.7.2/snos/lib/gcc/x86_64-suse-linux/4.7.2/../../../../lib64 
-L/lib/../lib64 -L/usr/lib/../lib64 
-L/opt/gcc/4.7.2/snos/lib/gcc/x86_64-suse-linux/4.7.2/../../.. -lrca 
-L/opt/cray/atp/1.6.2/lib/ -lAtpSigHCommData -lAtpSigHandler -lgfortran 
-lscicpp_gnu -lsci_gnu_mp -lstdc++ -lmpich_gnu_47 -lmpl -lrt -lxpmem 
-ldmapp -lugni -lpmi -lalpslli -lalpsutil -ludreg -lpthread -lm -lgomp 
-lgcc_eh
checking for dummy main to link with Fortran 77 libraries... none
checking for Fortran 77 name-mangling scheme... lower case, underscore, 
no extra underscore
checking whether ftn appends underscores to external names... yes
checking whether ftn appends extra underscores to external names... no
checking whether mixed C/Fortran code can be run... yes
checking whether ftn and cc -std=gnu99 agree on int and double... 
configure: WARNING: ftn and cc -std=gnu99 disagree on int and double
configure: error: Maybe change CFLAGS or FFLAGS?

2. PrgEnv-gnu/4.1.40 + craype-target-native

R is now configured for x86_64-unknown-linux-gnu

Source directory: .
Installation directory: /univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/system/usr

C compiler: cc -std=gnu99 -g -O2
Fortran 77 compiler: gfortran -g -O2

C++ compiler: CC -g -O2
Fortran 90/95 compiler: ftn -g -O2
Obj-C compiler:

Interfaces supported:
External libraries: readline
Additional capabilities: JPEG
Options enabled: shared R library, shared BLAS, R profiling, memory 
profiling, strict barrier, static HTML

Recommended packages: yes

nmath/*.o` ../extra/zlib/libz.a ../extra/bzip2/libbz2.a 
../extra/pcre/libpcre.a ../extra/tre/libtre.a ../extra/xz/liblzma.a 
-L../../lib -lRblas -lgfortran -lm -lquadmath -lreadline -lncurses -lrt 
-ldl -lm
make[4]: Entering directory 
`/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/build/tmp/R-3.0.0/src/main'
mkdir -p -- 
/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/build/tmp/R-3.0.0/bin/exec
make[4]: Leaving directory 
`/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/build/tmp/R-3.0.0/src/main'
make[3]: Leaving directory 
`/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/build/tmp/R-3.0.0/src/main'
make[3]: Entering directory 
`/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/build/tmp/R-3.0.0/src/main'
cc -std=gnu99 -I../../src/extra/zlib -I../../src/extra/bzip2 
-I../../src/extra/pcre -I../../src/extra -I../../src/extra/xz/api -I. 
-I../../src/include -I../../src/include 
-I/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/system/usr/include 
-DHAVE_CONFIG_H -fopenmp -fpic -g -O2 -flto -c Rmain.c -o Rmain.o
cc -std=gnu99 -g -O2 -flto -Wl,--export-dynamic -fopenmp 
-L/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/system/usr/lib64 -o R.bin 
Rmain.o -L../../lib -lR -lRblas
/usr/bin/ld: cannot find -lR
/usr/bin/ld: cannot find -lRblas
collect2: error: ld returned 1 exit status
make[3]: *** [R.bin] Error 1
make[3]: Leaving directory 
`/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/build/tmp/R-3.0.0/src/main'
make[2]: *** [R] Error 2
make[2]: Leaving directory 
`/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/build/tmp/R-3.0.0/src/main'
make[1]: *** [R] Error 1
make[1]: Leaving directory 
`/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/build/tmp/R-3.0.0/src'
make: *** [R] Error 1





If I disable the build of shared libraries, I get this:



cc -std=gnu99 -O2 -fPIC -flto -Wl,--export-dynamic 
-L/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/system/usr/lib64 -o R.bin 
Rmain.o CommandLineArgs.o Rdynload.o Renviron.o RNG.o agrep.o apply.o 
arithmetic.o array.o attrib.o bind.o builtin.o character.o coerce.o 
colors.o complex.o connections.o context.o cum.o dcf.o datetime.o 
debug.o deparse.o devices.o dotcode.o dounzip.o dstruct.o duplicate.o 
edit.o engine.o envir.o errors.o eval.o format.o gevents.o gram.o 
gram-ex.o graphics.o grep.o identical.o inlined.o inspect.o internet.o 
iosupport.o lapack.o list.o localecharset.o logic.o main.o mapply.o 
match.o memory.o names.o objects.o options.o paste.o platform.o plot.o 
plot3d.o plotmath.o print.o printarray.o printvector.o printutils.o 
qsort.o random.o raw.o registration.o relop.o rlocale.o saveload.o 
scan.o seq.o serialize.o sort.o source.o split.o sprintf.o startup.o 
subassign.o subscript.o subset.o summary.o sysutils.o unique.o util.o 
version.o vfonts.o xxxpr.o `ls ../unix/*.o ../appl/*.o ../nmath/*.o` 
../extra/zlib/libz.a ../extra/bzip2/libbz2.a ../extra/pcre/libpcre.a 
../extra/tre/libtre.a ../extra/xz/liblzma.a -lgfortran -lm -lquadmath 
-lreadline -lncurses -lrt -ldl -lm
../unix/dynload.o: In function `loadLibrary':
dynload.c:(.text+0x68): warning: Using 'dlopen' in statically linked 
applications requires at runtime the shared libraries from the glibc 
version used for linking
platform.o: In function `do_fileinfo':
platform.c:(.text+0x41cb): warning: Using 'getgrgid' in statically 
linked applications requires at runtime the shared libraries from the 
glibc version used for linking
/usr/lib/../lib64/libreadline.a(complete.o): In function 
`rl_username_completion_function':
/usr/src/packages/BUILD/readline-5.2/complete.c:1856: warning: Using 
'getpwent' in statically linked applications requires at runtime the 
shared libraries from the glibc version used for linking
/usr/lib/../lib64/libreadline.a(tilde.o): In function `tilde_expand_word':
/usr/src/packages/BUILD/readline-5.2/./tilde.c:390: warning: Using 
'getpwnam' in statically linked applications requires at runtime the 
shared libraries from the glibc version used for linking
platform.o: In function `do_fileinfo':
platform.c:(.text+0x419e): warning: Using 'getpwuid' in statically 
linked applications requires at runtime the shared libraries from the 
glibc version used for linking
/usr/lib/../lib64/libreadline.a(complete.o): In function 
`rl_username_completion_function':
/usr/src/packages/BUILD/readline-5.2/complete.c:1852: warning: Using 
'setpwent' in statically linked applications requires at runtime the 
shared libraries from the glibc version used for linking
/usr/src/packages/BUILD/readline-5.2/complete.c:1867: warning: Using 
'endpwent' in statically linked applications requires at runtime the 
shared libraries from the glibc version used for linking
platform.o: In function `do_nsl':
platform.c:(.text+0x5fd8): warning: Using 'gethostbyname' in statically 
linked applications requires at runtime the shared libraries from the 
glibc version used for linking
/usr/bin/ld: dynamic STT_GNU_IFUNC symbol `strcmp' with pointer equality 
in `/usr/lib/../lib64/libc.a(strcmp.o)' can not be used when making an 
executable; recompile with -fPIE and relink with -pie
collect2: error: ld returned 1 exit status
make[3]: *** [R.bin] Error 1
make[3]: Leaving directory 
`/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/build/tmp/R-3.0.0/src/main'
make[2]: *** [R] Error 2
make[2]: Leaving directory 
`/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/build/tmp/R-3.0.0/src/main'
make[1]: *** [R] Error 1
make[1]: Leaving directory 
`/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/build/tmp/R-3.0.0/src'
make: *** [R] Error 1


3. PrgEnv-cray/4.1.40

L/opt/cray/ugni/4.0-1.0401.5928.9.5.gem/lib64 
-L/opt/cray/pmi/4.0.1-1.0000.9421.73.3.gem/lib64 
-L/opt/cray/dmapp/3.2.1-1.0401.5983.4.5.gem/lib64 
-L/opt/cray/xpmem/0.1-2.0401.36790.4.3.gem/lib64 
-L/opt/cray/rca/1.0.0-2.0401.38656.2.2.gem/lib64 -lrca 
-L/opt/cray/atp/1.6.2/lib/ -lAtpSigHCommData -lAtpSigHandler 
-L/opt/cray/cce/8.1.7/craylibs/x86-64 -L/opt/gcc/4.4.4/snos/lib64 
-L/opt/cray/mpt/5.6.4/gni/mpich2-cray/74/lib 
-L/opt/cray/libsci/12.0.01/cray/74/interlagos/lib -lscicpp_cray 
-lsci_cray_mp -lmpichf90_cray -lmpich_cray -lmpl -lxpmem -ldmapp -lpmi 
-lugni -lalpslli -lalpsutil -ludreg 
-L/opt/cray/xe-sysroot/4.1.40/usr/lib64 
-L/opt/cray/xe-sysroot/4.1.40/lib64 
-L/opt/cray/xe-sysroot/4.1.40/usr/lib/alps -L/usr/lib/alps 
-L/opt/gcc/4.4.4/snos/lib/gcc/x86_64-suse-linux/4.4.4 
-L/opt/cray/cce/8.1.7/cray-binutils/x86_64-unknown-linux-gnu/lib 
-L//usr/lib64 -lpgas-dmapp -lu -ldl -lfi -lstdc++ 
/opt/cray/cce/8.1.7/craylibs/x86-64/libmodules.a 
/opt/cray/cce/8.1.7/craylibs/x86-64/libomp.a 
/opt/cray/cce/8.1.7/craylibs/x86-64/libopenacc.a -lf -lmodules 
-lcraymath -lgfortran -lquadmath -lcraymp -lcsup -lrt -ltcmalloc_minimal 
-lpthread -lm
checking how to get verbose linking output from cc... -v
checking for C libraries of cc... -lhugetlbfs 
-L/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/system/usr/lib64 
-L/opt/cray/udreg/2.3.2-1.0401.5929.3.3.gem/lib64 
-L/opt/cray/ugni/4.0-1.0401.5928.9.5.gem/lib64 
-L/opt/cray/pmi/4.0.1-1.0000.9421.73.3.gem/lib64 
-L/opt/cray/dmapp/3.2.1-1.0401.5983.4.5.gem/lib64 
-L/opt/cray/xpmem/0.1-2.0401.36790.4.3.gem/lib64 
-L/opt/cray/rca/1.0.0-2.0401.38656.2.2.gem/lib64 -lrca 
-L/opt/cray/atp/1.6.2/lib/ -lAtpSigHCommData -lAtpSigHandler 
-L/opt/cray/cce/8.1.7/CC/x86-64/lib/x86-64 
-L/opt/cray/cce/8.1.7/craylibs/x86-64 -L/opt/gcc/4.4.4/snos/lib64 
-L/opt/cray/mpt/5.6.4/gni/mpich2-cray/74/lib 
-L/opt/cray/libsci/12.0.01/cray/74/interlagos/lib -lscicpp_cray 
-lsci_cray_mp -lmpich_cray -lmpl -lxpmem -ldmapp -lpmi -lugni -lalpslli 
-lalpsutil -ludreg -L/opt/cray/xe-sysroot/4.1.40/usr/lib64 
-L/opt/cray/xe-sysroot/4.1.40/lib64 
-L/opt/cray/xe-sysroot/4.1.40/usr/lib/alps -L/usr/lib/alps 
-L/opt/gcc/4.4.4/snos/lib/gcc/x86_64-suse-linux/4.4.4 
-L/opt/cray/cce/8.1.7/cray-binutils/x86_64-unknown-linux-gnu/lib 
-L//usr/lib64 -lpgas-dmapp -lu -ldl -lfi -lstdc++ -lgcc_eh -lf -lmodules 
-lcraymath -lgfortran -lquadmath -lcraymp -lcsup -lrt -ltcmalloc_minimal 
-lpthread -lm
checking for dummy main to link with Fortran 77 libraries... unknown
configure: error: in 
`/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/build/tmp/R-3.0.0':
configure: error: linking to Fortran libraries from C fails
See `config.log' for more details
Done compiling and installing packages.


4.PrgEnv-cray/4.1.40 + craype-target-native
checking for Fortran 77 libraries of ftn... -lhugetlbfs 
-L/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/system/usr/lib64 
-L/opt/cray/udreg/2.3.2-1.0401.5929.3.3.gem/lib64 
-L/opt/cray/ugni/4.0-1.0401.5928.9.5.gem/lib64 
-L/opt/cray/pmi/4.0.1-1.0000.9421.73.3.gem/lib64 
-L/opt/cray/dmapp/3.2.1-1.0401.5983.4.5.gem/lib64 
-L/opt/cray/xpmem/0.1-2.0401.36790.4.3.gem/lib64 
-L/opt/cray/rca/1.0.0-2.0401.38656.2.2.gem/lib64 -lrca 
-L/opt/cray/atp/1.6.2/lib/ -lAtpSigHCommData -lAtpSigHandler 
-L/opt/cray/cce/8.1.7/craylibs/x86-64 -L/opt/gcc/4.4.4/snos/lib64 
-L/opt/cray/mpt/5.6.4/gni/mpich2-cray/74/lib -L/usr/lib/alps 
-L/opt/gcc/4.4.4/snos/lib/gcc/x86_64-suse-linux/4.4.4 
-L/opt/cray/cce/8.1.7/cray-binutils/x86_64-unknown-linux-gnu/lib 
-L//usr/lib64 -lpgas-dmapp -lxpmem -lu -ldmapp -lugni -lpmi -ludreg 
-lalpslli -lalpsutil -ldl -lfi -lstdc++ 
/opt/cray/cce/8.1.7/craylibs/x86-64/libmodules.a 
/opt/cray/cce/8.1.7/craylibs/x86-64/libomp.a 
/opt/cray/cce/8.1.7/craylibs/x86-64/libopenacc.a -lf -lmodules 
-lcraymath -lgfortran -lquadmath -lcraymp -lcsup -lrt -ltcmalloc_minimal 
-lpthread -lm
checking how to get verbose linking output from cc... -v
checking for C libraries of cc... -lhugetlbfs 
-L/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/system/usr/lib64 
-L/opt/cray/udreg/2.3.2-1.0401.5929.3.3.gem/lib64 
-L/opt/cray/ugni/4.0-1.0401.5928.9.5.gem/lib64 
-L/opt/cray/pmi/4.0.1-1.0000.9421.73.3.gem/lib64 
-L/opt/cray/dmapp/3.2.1-1.0401.5983.4.5.gem/lib64 
-L/opt/cray/xpmem/0.1-2.0401.36790.4.3.gem/lib64 
-L/opt/cray/rca/1.0.0-2.0401.38656.2.2.gem/lib64 -lrca 
-L/opt/cray/atp/1.6.2/lib/ -lAtpSigHCommData -lAtpSigHandler 
-L/opt/cray/cce/8.1.7/CC/x86-64/lib/x86-64 
-L/opt/cray/cce/8.1.7/craylibs/x86-64 -L/opt/gcc/4.4.4/snos/lib64 
-L/opt/cray/mpt/5.6.4/gni/mpich2-cray/74/lib -L/usr/lib/alps 
-L/opt/gcc/4.4.4/snos/lib/gcc/x86_64-suse-linux/4.4.4 
-L/opt/cray/cce/8.1.7/cray-binutils/x86_64-unknown-linux-gnu/lib 
-L//usr/lib64 -lpgas-dmapp -lxpmem -lu -ldmapp -lugni -lpmi -ludreg 
-lalpslli -lalpsutil -ldl -lfi -lstdc++ -lgcc_eh -lf -lmodules 
-lcraymath -lgfortran -lquadmath -lcraymp -lcsup -lrt -ltcmalloc_minimal 
-lpthread -lm
checking for dummy main to link with Fortran 77 libraries... unknown
configure: error: in 
`/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/build/tmp/R-3.0.0':
configure: error: linking to Fortran libraries from C fails
See `config.log' for more details

I also tried building R-2.15.2 following this thread: 
http://www.hector.ac.uk/support/documentation/software/R/rcompilation_phase3.php, 
but again with no success:

platform.c:(.text+0x5fd8): warning: Using 'gethostbyname' in statically 
linked applications requires at runtime the shared libraries from the 
glibc version used for linking
/usr/bin/ld: dynamic STT_GNU_IFUNC symbol `strcmp' with pointer equality 
in `/usr/lib/../lib64/libc.a(strcmp.o)' can not be used when making an 
executable; recompile with -fPIE and relink with -pie
collect2: error: ld returned 1 exit status
make[3]: *** [R.bin] Error 1
make[3]: Leaving directory 
`/univ_2/ws3/ws/ipmiva-WRF_331_CORDEX-0/build/tmp/R-3.0.0/src/main'

Any suggestions will be appreciated. I am completely out of ideas now.

Best regards,

Martin


-- 
Dr. Martin Ivanov
Eberhard-Karls-Universität Tübingen
Mathematisch-Naturwissenschaftliche Fakultät
Fachbereich Geowissenschaften
Water & Earth System Science (WESS)
Hölderlinstraße 12, 72074 Tübingen, Deutschland
Tel. +4970712974213



More information about the R-sig-hpc mailing list