[R-pkg-devel] Using the correct R binary in configure script
Dirk Eddelbuettel
edd at debian.org
Sat Sep 26 17:43:51 CEST 2015
On 26 September 2015 at 10:27, Jack Wasey wrote:
| Having just read section 1.2 in Writing R extensions, a fragment of a
| configure script is offered in order to determine the correct compiler
| options. It starts by setting R_HOME with:
|
| : ${R_HOME=`R RHOME`}
|
|
| `R` is called, even if, as in my case, `Rdevel` is the command used to
| invoke package compilation. This can be overridden by setting R_HOME
| in the call to `Rdevel`, but this seems to be undesirable, since the
| whole point of a configure script is that it sets up the package given
| the constraints of the compiling environment.
[...]
|
| Am I doing something wrong?
R_HOME is set to the result of the command R RHOME if and only it is unset.
And it usually is unset. This scheme generally works, I use it in a few
packages on CRAN which had it for years -- and it was initially suggested to
my by Kurt to make precisely _this_ work: you set a different $PATH, or call
a different R engine. And the right thing happens:
edd at max:~$ R RHOME # default installation
/usr/lib/R
edd at max:~$ RD RHOME # alternate R-devel with a short-hand wrapper
/usr/local/lib/R-devel/lib/R
edd at max:~$ which RD
/home/edd/bin/RD
edd at max:~$
The (nice) idea of calling R-devel just 'RD' appears due to Winston. It
works the same way if I just call R-devel-sh as I had for years:
edd at max:~$ R-devel.sh RHOME
/usr/local/lib/R-devel/lib/R
edd at max:~$
So if you still think it fails for you, compare to e.g. the packages
nloptr
RProtoBuf
RQuantLib
RVowpalWabbit
all of which use this scheme.
Dirk
--
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org
More information about the R-package-devel
mailing list