Skip to content

Trouble compiling R-2.10.0

2 messages · zacz, Brian Ripley

#
Hi,

I am having trouble compiling R-2.10.0 on the Solaris x86_64 platform using
the native solaris-studio cc/F99 compilers.
I am pretty sure that I have all my environment set up for a 64-bit compile.
However, when doing a make I get the following error:

/opt/solstudio12.2/bin/cc -m64 -I./api -I. -I../../../src/include
-I../../../src/include -I/usr/local/include -DHAVE_CONFIG_H  -KPIC  -xO3 -c
alone_decoder.c -o alone_decoder.o
"sysdefs.h", line 126: invalid type combination
"sysdefs.h", line 126: warning: useless declaration
"sysdefs.h", line 126: warning: typedef declares no type name
cc: acomp failed for alone_decoder.c
*** Error code 2
make: Fatal error: Command failed for target `alone_decoder.o'
Current working directory /gtools/src/R-2.10.0/src/extra/xz
*** Error code 1
The following command caused the error:
make liblzma.a
make: Fatal error: Command failed for target `R'
Current working directory /gtools/src/R-2.10.0/src/extra/xz
*** Error code 1
The following command caused the error:
(cd xz; make)
make: Fatal error: Command failed for target `make.xz'
Current working directory /gtools/src/R-2.10.0/src/extra
*** Error code 1
The following command caused the error:
for d in scripts include extra appl nmath unix main modules library; do \
  (cd ${d} && make R) || exit 1; \
done
make: Fatal error: Command failed for target `R'
Current working directory /gtools/src/R-2.10.0/src
*** Error code 1
The following command caused the error:
for d in m4 tools doc etc share src tests  po; do \
  (cd ${d} && make R) || exit 1; \
done
make: Fatal error: Command failed for target `R'

I am perplexed as what could be wrong? Any help would be much appreciated.
#
On Fri, 7 Jan 2011, zacz wrote:

            
Which versions of those compilers?

We don't support R-2.10.0 any more: please use a current R (2.12.1 or 
2.12.1 patched) as we asked in the posting guide.  For Solaris Studio 
12.2, you need a current version to be able to set FCLIBS.

As far as I can see you have failed to set your compilers up in C99 
mode: you should be using the flag -xc99 as described in the R-admin 
manual.  E.g.:

   By default the Solaris Studio compilers do not conform to the C99
   standard (appendix F 8.9) on the return values of functions such as
   @code{log}: use @option{-xlibmieee} to ensure this.  Also, errors
   have been reported on @cputype{amd64} if @option{-xc99} is omitted.

What you call 'x86_64' is what Sun/Oracle call 'amd64'.