What you have not told us is your platform (but it was Mac OS X the
other day). The answers are different if you are doing source installs
or binary installs and if the latter, by platform.
If you are doing source installs on the machine to be used, configure
should adjust the install accordingly.
If you transfer a binary install done without GSL to another machine
with GSL, the installed package will have the GSL functions disabled.
If you transfer a binary install done with GSL to a machine without, it
depends. As both Windows and OS X binary builds use a static libgsl,
they will be fine and the package will have working GSL-based functions.
In other cases with dynamic linking the package may fail to load or
attempts to use the GSL-based functions may crash the R session.
On 17/08/2012 10:11, Cule, Erika wrote:
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
--
Brian D. Ripley, rip...@stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
______________________________________________
R-devel@r-project.org mailing list
https://stat.ethz.ch/mailman/listinfo/r-devel