[Bioc-devel] [Rd] configuration and installation of R packages with C/C++ library dependencies.

Seth Falcon sfalcon at fhcrc.org
Tue Sep 20 16:02:51 CEST 2005


Hi Eryk,

On 20 Sep 2005, W.E.Wolski at ncl.ac.uk wrote:
> a) Where I should provide the information which C++ libraries must
>    be
> installed on the computer? README/ DESCRIPTION file?

You can use a SystemRequirements field in DESCRIPTION to list required
system libraries.  A README file is also a good idea and will allow
you to give users more details on what/how/where.

> b) The library location on other users computers will be in a different 
> place than specified by me in the Makevars file.  What mechanism of 
> finding out the library locations, or prompting the user to specify them 
> are integrated in the package installation procedure?

For unix-like systems, if a configure scripts is found at the top
level of the package directory, it will be used to set the Makevars.
So this is the mechanism available to find the location of system
libs.

On Windows, we distribute binary packages.  As such, the practice is
to bundle all dll's with the package.  

> c) Which packages available on CRAN or BioConductor are *good* practice 
> examples?

Take a look at BioC's Ruuid.  The files you will want to look at are
configure.in and autogen.sh.

Create your own configure.in based on the packages you want to find.
Then run the autogen.sh script to create a configure script.

Once you get it working, you will want to check in (svn) the generated
configure script --- this is an exception to the rule of not checking
in generated files.  

And for one way of bundling stuff for Windows, I would look at XML.

+ seth



More information about the Bioc-devel mailing list