From erika.cule05 at imperial.ac.uk  Fri Aug 17 11:11:44 2012
From: erika.cule05 at imperial.ac.uk (Cule, Erika)
Date: Fri, 17 Aug 2012 09:11:44 +0000
Subject: [Rd] R package compilation: files in src directory should be
 ignored if C library is not available
Message-ID: <2402B639CA718D40875055AF9BC9EE1013E50C60@icexch-m4.ic.ac.uk>

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.cule05 at imperial.ac.uk
http://occamstypewriter.org/erikacule/



[Rd] R package compilation: files in src directory should be ignored if C library is not available
Cule, Erika