>>>>> Therneau, Terry M , Ph D <thern...@mayo.edu> >>>>> on Thu, 9 Feb 2017 12:56:17 -0600 writes:
> 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. Hmm. Yes, I can see that the CRAN package msm does do this, indeed. It is interesting if/why that does not produce any notes or rather even warnings. In principle, if you use the C API of 'expm' you should use 'LinkingTo: expm' see *the* manual, specifically the section https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Linking-to-native-routines-in-other-packages and that section does mention that (unfortunately in my view) you also should use 'Imports:' or 'Depends:' in addition to the 'LinkingTo:' Note howver that 'expm' would not have to mentioned in the NAMESPACE file.... unless your R functions do use some of expm's R level functionality. Martin ______________________________________________ R-devel@r-project.org mailing list https://stat.ethz.ch/mailman/listinfo/r-devel