Compiling R on Linux with SunStudio 12.1: "wide-character type" problems (rt)
You can work around this by disabling large file support (configure --disable-largefile). This seems to be another glibc bug. In the header glob.h, there are two lines where the pre-processor fails to check that __GNUC__ is defined, and it isn't defined when using Sun Studio. Evidently, glibc was designed to work with gcc and has not been extensively tested with other compilers, or other vendors have learned to work around the bugs. Martyn
On Tue, 2010-02-23 at 16:55 -0600, rt wrote:
Thank you Martyn,
I am one step closer. Using R-patched, configure was successful. However,
make exited with an error.
Configure summary:
Installation directory: /usr/local
C compiler: /opt/sun/sunstudio12.1/bin/suncc -g -O -xc99
-xlibmil -m32 -xlibmieee -nofstore
Fortran 77 compiler: /opt/sun/sunstudio12.1/bin/sunf95 -g -O
-libmil -m32 -nofstore
C++ compiler: /opt/sun/sunstudio12.1/bin/sunCC -g -O
-xlibmil -m32 -xlibmieee -nofstore
Fortran 90/95 compiler: /opt/sun/sunstudio12.1/bin/sunf95 -g -O
-libmil -m32 -nofstore
Obj-C compiler:
Interfaces supported: X11, tcltk
External libraries: readline, ICU, lzma
Additional capabilities: PNG, JPEG, NLS, cairo
Options enabled: shared BLAS, R profiling, Java
Recommended packages: yes
MAKE error:
make returned an error related to platform.c and glob.h.
It seems that glob.h has a poiter to struct dirent {..}, platorm.c has
struct dirent64 {..}.
Error message:
/opt/sun/sunstudio12.1/bin/suncc
-I../../src/extra -I. -I../../src/include -I../../src/include -I.
-I/opt/sun/sunstudio12.1/prod/include
-I/opt/sun/sunstudio12.1/prod/include/cc-I/opt/sun/sunstudio12.1/prod/include/cc/sys
-DHAVE_CONFIG_H -g -g -O -xc99 -xlibmil -m32 -xlibmieee -nofstore
-c platform.c -o platform.o
"/usr/include/glob.h", line 175: identifier redeclared: glob64
current : function(pointer to const char, int, pointer to function(..)
returning int, pointer to struct {unsigned int gl_pathc, pointer to pointer
to char gl_pathv, unsigned int gl_offs, int gl_flags, pointer to
function(..) returning void gl_closedir, pointer to function(..) returning
pointer to struct dirent64 {..} gl_readdir, pointer to function(..)
returning pointer to void gl_opendir, pointer to function(..) returning int
gl_lstat, pointer to function(..) returning int gl_stat}) returning int
previous: function(pointer to const char, int, pointer to function(..)
returning int, pointer to struct {unsigned int gl_pathc, pointer to pointer
to char gl_pathv, unsigned int gl_offs, int gl_flags, pointer to
function(..) returning void gl_closedir, pointer to function(..) returning
pointer to struct dirent {..} gl_readdir, pointer to function(..) returning
pointer to void gl_opendir, pointer to function(..) returning int gl_lstat,
pointer to function(..) returning int gl_stat}) returning int :
"/usr/include/glob.h", line 159
My cpu is correctly identified as i386 and I included the flag -m32. Do I
need to specify architecture separately?
thanks,
Russ
Russ, This is a known issue with Sun Studio on Linux and was fixed by Brian Ripley in January. If you download R-patched.tar.gz from here: ftp://ftp.stat.math.ethz.ch/Software/R/ then it should work for you. Martyn On Mon, 2010-02-22 at 13:11 -0600, rt wrote:
I am trying to compile R on Linux using SunStudio. Configure flags are mostly as suggested in the R install guide.
R install guide also indicates that: "The OS needs to have enough
support
for wide-character types: this is checked at configuration. Specifically, the C99 functionality of headers wchar.h and wctype.h, types wctans_t and mbstate_t and functions mbrtowc, mbstowcs, wcrtomb, wcscoll, wcstombs, wctrans, wctype, and iswctype." Configure stops with the following error message: configure:39534: result: no configure:39710: error: Support for MBCS locales is required.* I am not sure if this is a Linux issue or if it is a SunStudio issue.
Has
anybody tried to compile R on Linux using SunStudio? Thanks in advance, Russ
[[alternative HTML version deleted]]
______________________________________________ R-devel at r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel
-----------------------------------------------------------------------
This message and its attachments are strictly confidenti...{{dropped:8}}