I have written an R package which contains C source code (in the directory 
pkg/src). 

Only a subset of the functions in the pkg/R directory contain a .C() call to 
the functions in the pkg/src directory. The rest of the package will still work 
and be useful without the functions containing a .C() call.

To compile the code in pkg/src requires the GSL library. This is detailed in 
the SystemRequirements line of the DESCRIPTION file and the Makevars file 
directs the compiler to LIB_GSL.

At what stage will installation fail for the end user if they don't have GSL 
installed? 

I have used Autoconf and configure, following the example in 1.2 of "Writing R 
Extensions" and the configure.ac file in the R package gsl, to detect whether 
the GSL library is installed on the computer and disable the R functions if the 
GSL library is not found (by using a TRUE/FALSE pattern substitution, as in the 
example in "Writing R Extensions"). If GSL is not available, will the package 
now install on another users machine with these functions disabled? Or upon 
installation will the installer try to install the code in pkg/src and fail 
because the libraries are not available?

Is there a practical way to test this? Both of the computers I have access to 
have GSL available, and installation works whether I set HAVE_GSL=TRUE or 
HAVE_GSL=FALSE (although in the latter case the corresponding R functions are 
disabled). 

I hope that this is clear, and am happy to post my code if it would be useful.

Many thanks in advance.

Erika

---

Erika Cule
PhD student in Statistical Genetics
Imperial College London
Department of Epidemiology and Public Health
erika.cul...@imperial.ac.uk
http://occamstypewriter.org/erikacule/

______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel

Reply via email to