Problem compiling R 3.6.1 on POWER 570 system
On Wed, 19 Dec 2007, Mark Komarinski wrote:
I've for a RHEL 4 box on a P570 system. My end user wants to have a 64-bit version of R compiled due to the large amount of memory they require (this image has 16GB allocated to it). I can compile R fine in 32-bit mode, but it can't use more than 2.4GB of RAM before it falls over and dies. Compiling in 64-bit mode for POWER systems "should" be as easy as adding a CFLAGS="-m64" FFLAGS="-m64" ./configure --without-x .
The R-admin manual says to use CC="gcc -m64" CXX="gxx -m64" F77="gfortran -m64" FC="gfortran -m64" in several places: can you try following that (with g77 on your old OS, and presumably not FC if you don't have an F90 compiler).
It's not, and unfortunately I'm at a loss to what the problem is. Here's the last few lines of the above configure command: checking for Fortran 77 libraries of g77... -L/usr/local/lib64 -L/usr/lib/gcc/ppc64-redhat-linux/3.4.6/64 -L/usr/lib/gcc/ppc64-redhat-linux/3.4.6 -L/usr/lib/gcc/ppc64-redhat-linux/3.4.6/../../../../lib64 -L/usr/lib/gcc/ppc64-redhat-linux/3.4.6/../../.. -L/lib/../lib64 -L/usr/lib/../lib64 -lfrtbegin -lg2c -lm -lgcc_s_64 checking how to get verbose linking output from gcc -std=gnu99... -v checking for C libraries of gcc -std=gnu99... -L/usr/local/lib64 -L/usr/lib/gcc/ppc64-redhat-linux/3.4.6/64 -L/usr/lib/gcc/ppc64-redhat-linux/3.4.6 -L/usr/lib/gcc/ppc64-redhat-linux/3.4.6/../../../../lib64 -L/usr/lib/gcc/ppc64-redhat-linux/3.4.6/../../.. -L/lib/../lib64 -L/usr/lib/../lib64 -lgcc_s_64 checking for dummy main to link with Fortran 77 libraries... none checking for Fortran 77 name-mangling scheme... lower case, underscore, extra underscore checking whether g77 appends underscores to external names... yes checking whether g77 appends extra underscores to external names... yes checking whether mixed C/Fortran code can be run... configure: WARNING: cannot run mixed C/Fortran code configure: error: Maybe check LDFLAGS for paths to Fortran libraries? Here's what looks to be the relevant part from config.log: configure:32383: checking whether mixed C/Fortran code can be run /usr/bin/ld: skipping incompatible /usr/lib/gcc/ppc64-redhat-linux/3.4.6/libgcc_s_64.so when searching for -lgcc_s_64 /usr/bin/ld: skipping incompatible /usr/lib/gcc/ppc64-redhat-linux/3.4.6/libgcc_s_64.so when searching for -lgcc_s_64 /usr/bin/ld: cannot find -lgcc_s_64 collect2: ld returned 1 exit status configure:32447: WARNING: cannot run mixed C/Fortran code configure:32449: error: Maybe check LDFLAGS for paths to Fortran libraries? This implies that configure is compiling the code in 32 bit mode (which is why it's skipping libgcc_s_64.o I guess my questions are: has anyone compiled this for this system? And if so, how did you do it? -Mark
Brian D. Ripley, ripley at stats.ox.ac.uk Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/ University of Oxford, Tel: +44 1865 272861 (self) 1 South Parks Road, +44 1865 272866 (PA) Oxford OX1 3TG, UK Fax: +44 1865 272595