[R] choosing g/g++ compiler executable in R CMD SHLIB
Prof Brian D Ripley
ripley at stats.ox.ac.uk
Sun Nov 18 09:51:27 CET 2001
On Sat, 17 Nov 2001, Faheem Mitha wrote:
> On Sat, 17 Nov 2001, Prof Brian Ripley wrote:
> > On Sat, 17 Nov 2001, Faheem Mitha wrote:
> > > How can I get R CMD SHLIB to invoke gcc-3.0 instead of gcc and
> > > g++-3.0 instead of g++?
> > 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.
> Yes, this works. Thanks.
> > 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++.
> If I understand you correctly, this will only be an issue if I was to use
> R to do complilation of Fortran code. I have no such plans. I have changed
> all the stuff that seems relevant, CC = gcc-3.0, CXX = g++-3.0, CXXCPP =
> g++-3.0 -E, SHLIB_CXXLD = g++-3.0. I have left the Fortran stuff alone, so
> FC = g77 still refers to 2.95.x. In any case, I don't even have g77
It's only an issue if you plan to compile or link against compiled Frtran
code. In either case you need g77 installed. Quite a few packages need
> Just one more question. Is it possible to override ../etc/Makeconf
> locally, in the directory in which I am doing the complilation? I can use
> Makevars to set flags, but it doesn't seem to work with choosing the
> compiler. Ie setting CC=.. in Makevars has no effect.
I believe that is intentional. Neither setting CC in the environment nor
in Makevars works for me. Makevars precedes the standard makefile.
I did make setting CC in the environment work by setting MAKE to `gmake
-e', as in (under tcsh)
auk% env MAKE='gmake -e' CC=cc R CMD SHLIB test.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
r-help mailing list -- Read http://www.ci.tuwien.ac.at/~hornik/R/R-FAQ.html
Send "info", "help", or "[un]subscribe"
(in the "body", not the subject !) To: r-help-request at stat.math.ethz.ch
More information about the R-help