[R] compiling 2.6.2 using icc

Denham Robert Robert.Denham at nrw.qld.gov.au
Mon Feb 18 00:33:56 CET 2008


Just in case others make my mistake, the problem was that I had a .R
directory in my home directory, which had a Makevars file in it with
CC=gcc.  I don't remember why I had this, but it was being read for
package building and throwing everything out.

Robert


 

-----Original Message-----
From: Denham Robert 
Sent: Thursday, 14 February 2008 2:06 PM
To: r-help at r-project.org
Cc: 'Prof Brian Ripley'
Subject: RE: [R] compiling 2.6.2 using icc

I thought the problem was that I had tried to use a --with-blas argument
as an option to the configure script like:
 --with-blas="-L/opt/freeware/atlas/atlas-3.7.37/lib/ -lf77blas
-lpthread -latlas" since I had built R with gcc like this in the past.
But it still doesn't seem to compile the packages.  Here is the approach
I have taken, on a freshly untarred directory:

edit site.config so that it contains:

CC=icc
CFLAGS="-g -O3 -wd188 -ip"
F77=ifort
FFLAGS="-g -O3"
ICC_LIBS=/opt/intel/cce/10.1.012/lib
IFC_LIBS=/opt/intel/fce/10.1.012/lib/
LDFLAGS="-L$ICC_LIBS -L$IFC_LIBS -L/usr/lib64"
CXX=icpc
CXXFLAGS="-g -O3"
FC=ifort
FCFLAGS="-g -O3 -mp"

Run configure like:
./configure --prefix=/opt/freeware/R/R-2.6.2/ 

This results in:

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

  Source directory:          .
  Installation directory:    /opt/freeware/R/R-2.6.2/

  C compiler:                icc -c99 -mp -g -O3 -wd188 -ip
  Fortran 77 compiler:       ifort -mp -g -O3

  C++ compiler:              icpc -mp -g -O3
  Fortran 90/95 compiler:    ifort -g -O3 -mp
  Obj-C compiler:            gcc -g -O2

  Interfaces supported:      X11, tcltk
  External libraries:        readline
  Additional capabilities:   PNG, JPEG, iconv, MBCS, NLS
  Options enabled:           shared BLAS, R profiling, Java

  Recommended packages:      yes


Then make, which works until it gets to building the recommended package
MASS:

begin installing recommended package VR
* Installing *source* package 'MASS' ...
** libs
make[3]: Entering directory `/tmp/R.INSTALL.r19401/VR/MASS/src'
gcc -I/opt/freewaresrc/R/R-2.6.2/include
-I/opt/freewaresrc/R/R-2.6.2/include  -I/usr/local/include  -mp  -fpic
-g -O3 -wd188 -ip -c lqs.c -o lqs.o
gcc: unrecognized option '-wd188'
cc1: error: unrecognized command line option "-ip"
cc1: error: unrecognized command line option "-mp"
make[3]: *** [lqs.o] Error 1
make[3]: Leaving directory `/tmp/R.INSTALL.r19401/VR/MASS/src'
ERROR: compilation failed for package 'MASS'
** Removing '/opt/freewaresrc/R/R-2.6.2/library/MASS'
** Removing '/opt/freewaresrc/R/R-2.6.2/library/class'
** Removing '/opt/freewaresrc/R/R-2.6.2/library/nnet'
** Removing '/opt/freewaresrc/R/R-2.6.2/library/spatial'
make[2]: *** [VR.ts] Error 1
make[2]: Leaving directory
`/opt/freewaresrc/R/R-2.6.2/src/library/Recommended'
make[1]: *** [recommended-packages] Error 2
make[1]: Leaving directory
`/opt/freewaresrc/R/R-2.6.2/src/library/Recommended'
make: *** [stamp-recommended] Error 2


etc/Makeconf has:
# etc/Makeconf.  Generated from Makeconf.in by configure.
#
# ${R_HOME}/etc/Makeconf

include $(R_SHARE_DIR)/make/vars.mk

AR = ar
BLAS_LIBS = -L$(R_HOME)/lib$(R_ARCH) -lRblas C_VISIBILITY = CC = icc
-c99 CFLAGS = -g -O3 -wd188 -ip CPICFLAGS = -fpic CPPFLAGS =
-I/usr/local/include CXX = icpc CXXCPP = icpc -E CXXFLAGS = -g -O3
CXXPICFLAGS = -fpic DYLIB_EXT = .so DYLIB_LD = icc -c99 DYLIB_LDFLAGS =
-shared DYLIB_LINK = $(DYLIB_LD) $(DYLIB_LDFLAGS) $(LDFLAGS) ECHO_C =
ECHO_N = -n ECHO_T =
F77 = ifort
F77_VISIBILITY =
FC = ifort
FCFLAGS = -g -O3 -mp
FFLAGS = -g -O3
FLIBS =  -lifport -lifcore -limf -lsvml -lm -lipgo -lirc -lgcc_s -lirc_s
-ldl FCPICFLAGS = -fpic FPICFLAGS = -fpic ....

The only reference to gcc I could find was OBJC = gcc

Could this be a problem?  I tried changing this to icc -c99 but this
made no difference.


Since it seems to work for other users, I assume there is something in
my setup that is preventing it from working, though I am not sure where
to look.  PATH and other environment variables look okay.  Any
suggestions would be welcome.

Thanks
Robert




-----Original Message-----
From: Prof Brian Ripley [mailto:ripley at stats.ox.ac.uk]
Sent: Wednesday, 13 February 2008 4:59 PM
To: Denham Robert
Cc: r-help at r-project.org
Subject: Re: [R] compiling 2.6.2 using icc

It's working for other users of icc.  Check what CC is set to in
etc/Makeconf, and if it is not 'icc -c99', reset it.

On Wed, 13 Feb 2008, Denham Robert wrote:

> I am having trouble compiling R-2.6.2 on suse linux x86_64 using the 
> intel compiler.  I read section C.2.1 Intel compilers in the R 
> Installation and Administration manual, and put
>
> CC=icc
> CFLAGS="-g -O3 -wd188 -ip"
> F77=ifort
> FFLAGS="-g -O3"
> ICC_LIBS=/opt/intel/cce/10.1.012/lib
> IFC_LIBS=/opt/intel/fce/10.1.012/lib/
> LDFLAGS="-L$ICC_LIBS -L$IFC_LIBS -L/usr/lib64"
> CXX=icpc
> CXXFLAGS="-g -O3"
> FC=ifort
> FCFLAGS="-g -O3 -mp"
>
> in my config.site.  Everything seems to compile alright, up until 
> making the recommended package MASS.  The output below shows that it 
> is using gcc rather than icc when compiling the package, and the 
> CFLAGS wd188 and ip .  How do I get it to use icc for both building R 
> and building the packages?
>
>
> Robert
>
> ......
> make[2]: Entering directory
> `/opt/freewaresrc/R/R-2.6.2/src/library/Recommended'
> begin installing recommended package VR
> * Installing *source* package 'MASS' ...
> ** libs
> make[3]: Entering directory `/tmp/R.INSTALL.Z28650/VR/MASS/src'
> gcc -I/opt/freewaresrc/R/R-2.6.2/include
> -I/opt/freewaresrc/R/R-2.6.2/include  -I/usr/local/include  -mp -fpic 
> -g -O3 -wd188 -ip -c lqs.c -o lqs.o
> gcc: unrecognized option '-wd188'
> cc1: error: unrecognized command line option "-ip"
> cc1: error: unrecognized command line option "-mp"
> make[3]: *** [lqs.o] Error 1
> make[3]: Leaving directory `/tmp/R.INSTALL.Z28650/VR/MASS/src'
> ERROR: compilation failed for package 'MASS'
> ** Removing '/opt/freewaresrc/R/R-2.6.2/library/MASS'
> ** Removing '/opt/freewaresrc/R/R-2.6.2/library/class'
> ** Removing '/opt/freewaresrc/R/R-2.6.2/library/nnet'
> ** Removing '/opt/freewaresrc/R/R-2.6.2/library/spatial'
> make[2]: *** [VR.ts] Error 1
> make[2]: Leaving directory
> `/opt/freewaresrc/R/R-2.6.2/src/library/Recommended'
> make[1]: *** [recommended-packages] Error 2
> make[1]: Leaving directory
> `/opt/freewaresrc/R/R-2.6.2/src/library/Recommended'
> make: *** [stamp-recommended] Error 2
>
> **********************************************************************
> ** The information in this email together with any attachments is 
> intended only for the person or entity to which it is addressed and 
> may contain confidential and/or privileged material.
> Any form of review, disclosure, modification, distribution and/or 
> publication of this email message is prohibited, unless as a necessary

> part of Departmental business.
> If you have received this message in error, you are asked to inform 
> the sender as quickly as possible and delete this message and any 
> copies of this message from your computer and/or your computer system 
> network.
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
> http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>

-- 
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



More information about the R-help mailing list