Dear All,
I am trying to compile R-3.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 -lc
raymath -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