Skip to content

errors with compilation

4 messages · Jason Tan, Brian Ripley

#
Hi,

i'm trying to compile R on a Cray XT3 using pgi/7.2.1 - CNL (compute  
node linux)
The R version is 2.8.0

this is the option
-enable-R-static-lib=yes
--disable-R-shlib
CPICFLAGS=fpic
FPICFLAGS=fpic
CXXPICFLAGS=fpic
SHLIB_LDFLAGS=shared
--with-x=no
SHLIB_CXXLDFLAGS=shared
--disable-BLAS-shlib
CFLAGS="-g -O2 -Kieee"
FFLAGS="-g -O2 -Kieee"
CXXFLAGS="-g -O2 -Kieee"
FCFLAGS="-g -O2 -Kieee"
CC=cc
F77=ftn
CXX=CC
FC=ftn

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

  Source directory:          .
  Installation directory:    /lus/nid00036/jasont/R

  C compiler:                cc  -g -O2 -Kieee
  Fortran 77 compiler:       ftn  -g -O2 -Kieee

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

  Interfaces supported:
  External libraries:        readline
  Additional capabilities:   PNG, JPEG, iconv, MBCS, NLS
  Options enabled:           static R library, R profiling, Java

  Recommended packages:      yes

The error is :

cc -I../../src/extra/zlib -I../../src/extra/bzip2 -I../../src/extra/ 
pcre  -I. -I../../src/include -I../../src/include -I/usr/local/include  
-DHAVE_CONFIG_H    -g -O2 -Kieee -c pcre.c -o pcre.o
/opt/cray/xt-asyncpe/1.2/bin/cc: INFO: linux target is being used
PGC-W-0155-64-bit integral value truncated  (/usr/include/wctype.h: 108)
PGC-W-0155-64-bit integral value truncated  (/usr/include/wctype.h: 109)
PGC-W-0155-64-bit integral value truncated  (/usr/include/wctype.h: 110)
PGC-W-0155-64-bit integral value truncated  (/usr/include/wctype.h: 111)
PGC/x86-64 Linux 7.2-1: compilation completed with warnings
cc -I../../src/extra/zlib -I../../src/extra/bzip2 -I../../src/extra/ 
pcre  -I. -I../../src/include -I../../src/include -I/usr/local/include  
-DHAVE_CONFIG_H    -g -O2 -Kieee -c platform.c -o platform.o
/opt/cray/xt-asyncpe/1.2/bin/cc: INFO: linux target is being used
PGC-S-0037-Syntax error: Recovery attempted by deleting identifier  
FALSE (platform.c: 1657)
PGC-S-0094-Illegal type conversion required (platform.c: 1661)
PGC/x86-64 Linux 7.2-1: compilation completed with severe errors
make[3]: *** [platform.o] Error 2
make[3]: Leaving directory `/lus/nid00036/jasont/R-2.8.0/src/main'
make[2]: *** [R] Error 2
make[2]: Leaving directory `/lus/nid00036/jasont/R-2.8.0/src/main'
make[1]: *** [R] Error 1
make[1]: Leaving directory `/lus/nid00036/jasont/R-2.8.0/src'
make: *** [R] Error 1


Jason Tan
Senior Computer Support Officer
Western Australian Supercomputer Program (WASP)
The University of Western Australia
M024
35 Stirling Highway
CRAWLEY WA 6009
Ph: +618 64888742
Fax: +618 6488 8088
Email: jason.tan at uwa.edu.au
Web: www.wasp.uwa.edu.au
#
Please try the R-patched.version of R (see the posting guide or the FAQ).

That seems to be about an error in the R 2.8.0 sources that was corrected 
in October, and only happens if you do not ask for X11 support (which most 
R users need, including it seems all the pre-release testers).
On Tue, 9 Dec 2008, Jason Tan wrote:

            
/* The latter is the default */
Do you really need to set all these?  And are you sure you know the 
correct values?  ('-shared' is standard on Linux.)

  
    
#
thanks. i noticed a syntax error. a missing semi colon.

any idea about the error below?

cc -I. -I../../../src/include -I../../../src/include -I/usr/local/ 
include -DHAVE_CONFIG_H   -fPIC  -g -O2  -c Rsock.c -o Rsock.o
/opt/cray/xt-asyncpe/1.2/bin/cc: INFO: linux target is being used
cc -I. -I../../../src/include -I../../../src/include -I/usr/local/ 
include -DHAVE_CONFIG_H   -fPIC  -g -O2  -c internet.c -o internet.o
/opt/cray/xt-asyncpe/1.2/bin/cc: INFO: linux target is being used
cc -I. -I../../../src/include -I../../../src/include -I/usr/local/ 
include -DHAVE_CONFIG_H   -fPIC  -g -O2  -c nanoftp.c -o nanoftp.o
/opt/cray/xt-asyncpe/1.2/bin/cc: INFO: linux target is being used
cc -I. -I../../../src/include -I../../../src/include -I/usr/local/ 
include -DHAVE_CONFIG_H   -fPIC  -g -O2  -c nanohttp.c -o nanohttp.o
/opt/cray/xt-asyncpe/1.2/bin/cc: INFO: linux target is being used
cc -I. -I../../../src/include -I../../../src/include -I/usr/local/ 
include -DHAVE_CONFIG_H   -fPIC  -g -O2  -c sock.c -o sock.o
/opt/cray/xt-asyncpe/1.2/bin/cc: INFO: linux target is being used
cc -I. -I../../../src/include -I../../../src/include -I/usr/local/ 
include -DHAVE_CONFIG_H   -fPIC  -g -O2  -c sockconn.c -o sockconn.o
/opt/cray/xt-asyncpe/1.2/bin/cc: INFO: linux target is being used
cc -shared -fPIC  -L/usr/local/lib64 -o internet.so Rsock.o internet.o  
nanoftp.o nanohttp.o sock.o sockconn.o
/opt/cray/xt-asyncpe/1.2/bin/cc: INFO: linux target is being used
/usr/bin/ld: /usr/lib64/libpthread.a(ptw-fcntl.o): relocation  
R_X86_64_32 against `a local symbol' can not be used when making a  
shared object; recompile with -fPIC
/usr/lib64/libpthread.a: could not read symbols: Bad value
make[4]: *** [internet.so] Error 2

jason
On 09/12/2008, at 4:50 PM, Prof Brian Ripley wrote:

            
Jason Tan
Senior Computer Support Officer
Western Australian Supercomputer Program (WASP)
The University of Western Australia
M024
35 Stirling Highway
CRAWLEY WA 6009
Ph: +618 64888742
Fax: +618 6488 8088
Email: jason.tan at uwa.edu.au
Web: www.wasp.uwa.edu.au
#
On Tue, 9 Dec 2008, Jason Tan wrote:

            
Which, as I said, was corrected weeks ago.
Yes: you need to ensure that dynamic libraries are used on x86_64 Linux. 
That's something specific to your setup: standard R does not use pthreads.