[R] choosing g/g++ compiler executable in R CMD SHLIB

Prof Brian Ripley
Sat, 17 Nov 2001 17:49:11 -0000

On Sat, 17 Nov 2001, Faheem Mitha wrote:

>
> Dear People,
>
> After considerable effort, I managed to install gcc-3.0 on my Debian
> system. However, Debian keeps gcc-2.95 around as the default compiler, and
> gcc, g++ point to the 2.95 version. The 3.0 versions need to be explicitly
> invoked as gcc-3.0, g++-3.0 etc. How can I get R CMD SHLIB to invoke
> gcc-3.0 instead of gcc and g++-3.0 instead of g++? I would like this to be
> done by default but only for R. That is, I would like everything except R
> CMD SHLIB to call the 2.95 versions by default, but have R CMD SHLIB to
> call the 3.0 versions by default.
>
> I didn't see this issue addressed in "Writing R Extensions".
Is there a
> way to do this?

It's nothing to do with "Writing R Extensions": it is an
installation
issue.  If you build R with CC=gcc-3.0, CXX=g++-3.0 then these will be
recorded in RHOME/etc/Makeconf and used by R CMD SHLIB (at least, that
works for me).  I suspect manually editing that file will do what you
want.

However, a warning.  FLIBS is also set at build time (configure time),
and the correct specification for gcc 3.0.x is not the same as for gcc
2.95.x.   I think it would be a lot safer to rebuild R under your favoured
compilers.

The FLIBS problem arises if compilers are updated so g77 refers to 3.0.x,
BTW.  It may not be relevant is you only want to compile C and C++.

--
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 272860 (secr)
Oxford OX1 3TG, UK                Fax:  +44 1865 272595