On Dec 20, 2007, at 6:45 PM, Louisell, Paul wrote: > I'm working on a server with a sparcv9 chip using SunOS 5.9 Generic > May 2002. The compilers are the Sun Studio 12 compilers. I'm trying > to build a 64-bit version of R-2.6.1, and while the configure script > runs, the make does not. >
Paul, I don't know if that helps, but incidentally I have compiled R successfully with spro12 for a v9 machine just yesterday and all you need is in the R-admin manual. For completeness these were the (main) flags: 'CXX=CC -m64' 'LDFLAGS=-L/opt/SUNWspro/lib/v9' 'CC=cc -xc99 -m64' 'CFLAGS=-O -xlibmieee -xarch=sparcvis' 'F77=f95 -m64' 'FFLAGS=-O4 -xarch=sparcvis' 'CXXFLAGS=-O -m64 -xarch=sparcvis' 'FC=f95 -m64' 'FCFLAGS=-O4 -xarch=sparcvis -libmil' 'SHLIB_CXXLDFLAGS=-G -lCstd' 'SHLIB_LDFLAGS=-shared' 'CPICFLAGS=-Kpic' 'FPICFLAGS=-KPIC' 'CXXPICFLAGS=-Kpic' 'FCPICFLAGS=- KPIC' Cheers, Simon PS: My tests so far show that R compiled with gcc 4.2.2 is faster than R compiled with the Sun's compilers, so I ended up using gcc instead as it's less painful and faster. > Here are the options I set in config.site: > ________________________________________________________________________ > _ > > R_PAPERSIZE=letter > CC="cc -m64" > CFLAGS="-xO5 -xlibmil -xmemalign=8s" > F77="f95 -m64" > FFLAGS="-xO5 -xlibmil -xmemalign=8s" > LDFLAGS="-L/opt/SUNWspro/lib/v9 -L/usr/local/lib" > CXX="CC -m64" > CXXFLAGS="-xO5 -xlibmil -xmemalign=8s" > FC="f95 -m64" > FCFLAGS="-xO5 -xlibmil -xmemalign=8s" > ________________________________________________________________________ > __ > > Here's the command invoking configure: > ________________________________________________________________________ > __ > > ./configure --with-blas --with-lapack --enable-BLAS-shlib > ________________________________________________________________________ > __ > > And here are the last several lines of the screen output from running > the configure script: > ________________________________________________________________________ > __ > > R is now configured for sparc-sun-solaris2.9 > > Source directory: . > Installation directory: /usr/local > > C compiler: cc -m64 -xO5 -xlibmil -xmemalign=8s > Fortran 77 compiler: f95 -m64 -xO5 -xlibmil -xmemalign=8s > > C++ compiler: CC -m64 -xO5 -xlibmil -xmemalign=8s > Fortran 90/95 compiler: f95 -m64 -xO5 -xlibmil -xmemalign=8s > Obj-C compiler: cc > > Interfaces supported: X11 > External libraries: readline, BLAS(SunPerf) > Additional capabilities: iconv, MBCS, NLS > Options enabled: shared BLAS, R profiling, Java > > Recommended packages: yes > > configure: WARNING: you cannot build the object documentation system > configure: WARNING: you cannot build DVI versions of the R manuals > configure: WARNING: you cannot build info or HTML versions of the R > manuals > configure: WARNING: you cannot build PDF versions of the R manuals > ________________________________________________________________________ > ____ > > I'm not concerned about not being able to build the manuals. Here are > the last several lines of the screen output from running make: > ________________________________________________________________________ > ____ > > making pcre_chartables.d from pcre_chartables.c > "./pcre_internal.h", line 168: Illegal number 4294967295U > *** Error code 2 > make: Fatal error: Command failed for target `pcre_chartables.d' > Current working directory > /export/home/ploua/R_HOME/R-2.6.1/src/extra/pcre > *** Error code 1 > make: Fatal error: Command failed for target `R' > Current working directory > /export/home/ploua/R_HOME/R-2.6.1/src/extra/pcre > *** Error code 1 > make: Fatal error: Command failed for target `R' > Current working directory /export/home/ploua/R_HOME/R-2.6.1/src/extra > *** Error code 1 > make: Fatal error: Command failed for target `R' > Current working directory /export/home/ploua/R_HOME/R-2.6.1/src > *** Error code 1 > make: Fatal error: Command failed for target `R' > ________________________________________________________________________ > ____ > > It seems that the C compiler is having a hard time reading standard C > constants. Some further (hopefully relevant) background: Here is an > excerpt from the Studio 12 C User's Guide: > ________________________________________________________________________ > ____ > > If you do not specify -xc99, the compiler defaults to - > xc99=all,no_lib. > If you specify -xc99 > without any values, the option is set to-xc99=all. > Note - Though the compiler support-level defaults to the language > features of the C99 standard, > the standard headers provided by the Solaris 8 and Solaris 9 operating > systems in /usr/include > do not conform with the 1999 ISO/IEC C standard. If you encounter > error > messages, try > specifying -xc99=none to obtain the 1990 ISO/IEC C standard behavior > for > these headers. > The 1999 C standard library semantics of routines that appeared in > both > the 1990 and 1999 C > standard are not available and therefore cannot be enabled on > Solaris 8 > and Solaris 9 software. > The compiler issues an error message when you specify -xc99=lib > directly > or indirectly on > Solaris 8 or Solaris 9 software. > ________________________________________________________________________ > ____ > > I've tried adding the option '-xc99=none' to the C flags shown from > config.site above, but I get the same error on running make. When I > specify only '-xc99', I get an error telling me the library is > unavailable on Solaris 9--the User's Guide is telling the truth above. > > I've also tried modifying 'pcre_internal.h' by commenting out the > lines > where it's trying to determine the type for 32-bit unsigned integers > and > instead hard-coding things with > > typedef unsigned int pcre_uint32; > > When I do this, I get the same error but originating in a different > file. I'm not a C programmer so I can't be certain what I've attempted > is reasonable (although I have received some guidance from people who > are C programmers). Is my only option to go through and find all > instances of '4294967295' in source files and hard-code things as I > did > above for 'pcre_internal.h'? > > In the R Installation and Admin manual on page 42, it says, "However, > our tests were none too successful: Sparc 64-bit builds crashed." Here > they were referring to Solaris 10. I noticed that Brian Ripley > produced > a successful build using Studio 12, but on x86_64 Linux. The > references > to Solaris 9 used the Sun Forte 7 compilers. > > My ultimate question: Does anyone know how to successfully build a > 64-bit target for R-2.6.1 using Studio 12 on a system with my > architecture? If not using Studio 12, how about Studio 11? > > Thanks in advance for any help, > > > > Paul Louisell > 650-833-6254 > [EMAIL PROTECTED] > Associate Predictive Modeler (Statistician) > Modeling & Data Analytics > ARPC > > ______________________________________________ > R-devel@r-project.org mailing list > https://stat.ethz.ch/mailman/listinfo/r-devel > > ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel