Martyn,
No, that didn't work.
One other thing in the mix (which I don't think is the issue) is that I call one of the
C-entry points of expm. So the DESCRIPTION file imports expm, the NAMESPACE file imports
expm, and the init.c file is
#include "R.h"
#include "R_ext/Rdynload.h"
/* Interface to expm package. */
typedef enum {Ward_2, Ward_1, Ward_buggy_octave} precond_type;
void (*expm)(double *x, int n, double *z, precond_type precond_kind);
void R_init_hmm(DllInfo *dll)
{
expm = (void (*)) R_GetCCallable("expm", "expm");
}
I don't expect that this is the problem since I stole the above almost verbatim from the
msm package.
Terry T.
On 02/09/2017 11:23 AM, Martyn Plummer wrote:
On Thu, 2017-02-09 at 09:52 -0600, Therneau, Terry M., Ph.D. wrote:
Martin,
I am aware of --vanilla; I use it myself for some testing. In this case
R_LIBS_USER was
set externally (part of my login) and does not involve any of the R scripts.
That means
it is inherited by any subprocess. For example:
tmt1495% R --vanilla --no-environ
R version 3.3.1 (2016-06-21) -- "Bug in Your Hair"
Copyright (C) 2016 The R Foundation for Statistical Computing
Platform: x86_64-pc-linux-gnu (64-bit)
system("printenv | grep R_LIBS")
R_LIBS_SITE=
R_LIBS_USER=/people/biostat2/therneau/Rlib
So, per the manual R CMD check inherits the path. The question is
why does it ignore it?
Hmmm. Perhaps it is being overwritten. Does this work?
$ export R_CHECK_ENVIRON=
$ R CMD check hmm.gz
Martyn
Terry T.
On 02/09/2017 02:54 AM, Martyn Plummer wrote:
On Wed, 2017-02-08 at 15:51 -0600, Therneau, Terry M., Ph.D. wrote:
I have a local library which depends on the expm library. The expm library is
loaded into
my personal space and I have the environment variable R_LIBS_USER set
appropriately. The
command "library(expm)" works just fine from the command line, and in fact the
package
works if I do the source() and dyn.load() commands by hand.
The following sequence works:
tmt% R CMD build --no-build-vignettes hmm
tmt% R CMD INSTALL hmm*gz
tmt% R
> library(hmm)
> run some commands from the hmm library
But "R CMD check hmm.gz" fails with
ERROR: dependency ‘expm’ is not available for package ‘hmm’
* removing
‘/people/biostat2/therneau/consult/alzheimer/hmm.Rcheck/hmm’
The R CMD build command fails similarly if I let it try to build the
vignettes.
What's up?
If you are setting the environment variable R_LIBS_USER in
R_HOME/site/Renviron.site or in .Renviron then this file will not be
read when you run R CMD check or R CMD build, as R is then run with --
vanilla which implies --no-environ.
You also need to set it in these files:
~/.R/build.Renviron
~/.R/check.Renviron
See R-exts section 1.3 and ?Startup.
Martyn
Terry T
> sessionInfo()
R version 3.3.1 (2016-06-21)
Platform: x86_64-pc-linux-gnu (64-bit)
Running under: CentOS release 6.8 (Final)
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel