[R] Package specific dependencies...

Gabor Grothendieck ggrothendieck at gmail.com
Thu Nov 22 17:14:10 CET 2007


The SystemRequirements field on the DESCRIPTION file is used
to document the system requirements.  For example, the DESCRIPTION
file for Ryacas (which requires yacas) is shown below.

Package: Ryacas
Version: 0.2-8
Date: 2007-08-22
Title: R interface to the yacas computer algebra system
Author: Rob Goedman <goedman at mac.com>, Gabor Grothendieck
<ggrothendieck at gmail.com>, Søren Højsgaard
<Soren.Hojsgaard at agrsci.dk>, Ayal Pinkus <apinkus at xs4all.nl>
Maintainer: G Grothendieck <ggrothendieck at gmail.com>
Encoding: latin1
Description: An interface to the yacas computer algebra system.
Depends: R (>= 2.5.1), XML
SystemRequirements: yacas (>= 1.0.63) # instructions on home page
License: GPL
URL: http://ryacas.googlecode.com


On Nov 22, 2007 10:58 AM, Neil Shephard <nshephard at gmail.com> wrote:
> Hi,
>
> I noticed recently when installing the GDD package for R under
> GNU/Linux that it required the gd library (http://libgd.org/) for
> generating graphics.
>
> The resolution of this was to simply install the library on my system,
> and then GDD successfully installed without any complaints.
>
> However, the variant of GNU/Linux that I use is Gentoo, so I filed a
> bug requesting that a USE flag be set for the R ebuild so that users
> could automatically pull in the library when installing R simply by
> setting a flag for the package (Gentoo's package management system
> Portage allows specific packages to have USE flags for setting a packages
> ./configure flags and pulling in package dependencies and so forth,
> this isn't particularly relevant to the question, but more info can be
> found at http://www.gentoo.org/doc/en/handbook/handbook-x86.xml?part=3).
>  A recent revision of the ebuild for R removed this flag as there was
> no direct requirement of the gd library by R.
>
> Anyway, after a few short discussions with one of the Gentoo
> maintainers for R I was asked various questions about how this should
> be dealt with, and being unable to answer everything I am asking the
> wider R community for assistance and advice.  The main aim is to
> improve the way in which Gentoo handles the various packages that are
> available for R, and improve on the way in which dependencies such as
> the above are handle when compiling R.
>
> Q.1 How many packages on CRAN have package specific dependencies?
>
> Only using a subset of the R packages I'm only aware of the GDD
> dependency on libgd.  Are there others out there?
>
> Q.2. Is R capable of tracking dependencies of packages on CRAN?
>
> To my knowledge it isn't, as (to the best of memory, it was about six
> months ago now) I simply received a non-zero exit when trying to
> install GDD when I didn't have libgd installed.  R had no way of
> saying "Hang on this package needs this library, lets install it" and
> I wouldn't expect R to as it would make it particularly problematic if
> a user has installed locally or doesn't have the correct permissions etc.  But
> would it be appropriate for R to have a configure option to check for
> a dependency required by various packages?  I do realise that this is
> putting the cart before the horse.  Perhaps 'stricter' management of
> package inclusion would help so that all dependencies of a submitted
> package are passed onto R developers and appropriate configure flags
> can be added (although again this still leaves the horse behind the
> cart).
>
>
> Q.3. Does anyone have experience of dealing with this on other distributions?
>
> How does Debian/Slackware/Fedora etc. deal with problems like this?
> Particularly given that these are often pre-compiled (under Gentoo
> everything is compiled from source), does this mean that package
> maintainers of R for these various distros are aware of the
> dependencies of all packages and include the relevant libraries when
> compiling?
>
> The Gentoo R maintainer is going to look at alternatives for managing
> CRAN packages (one possible option is http://paludis.pioto.org/ which
> has some CRAN support already).
> Something similar has been done for Perl/CPAN (see
> http://www.gentoo.org/proj/en/perl/g-cpan.xml) and this may be an
> option for CRAN.
>
> Any and all comments and thoughts are more than welcome.
>
> Regards
>
> Neil
> --
> "Don't remember what you can infer." - Harry Tennant
>
> Email - nshephard at gmail.com / n.shephard at sheffield.ac.uk
> Website - http://slack.ser.man.ac.uk/
> Photos - http://www.flickr.com/photos/slackline/
>
>
>
> --
> "Don't remember what you can infer." - Harry Tennant
>
> Email - nshephard at gmail.com / n.shephard at sheffield.ac.uk
> Website - http://slack.ser.man.ac.uk/
> Photos - http://www.flickr.com/photos/slackline/
>
> ______________________________________________
> R-help at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
>



More information about the R-help mailing list