[Rd] dependencies on system packages

Simon Urbanek simon.urbanek at r-project.org
Fri Feb 4 04:48:13 CET 2011


Jeroen,

On Feb 3, 2011, at 9:31 PM, Jeroen Ooms wrote:

> 
> Many R packages depend on some unix libraries that are not part of most
> default installations. I often spend a significant amount of time figuring
> out where to get the appropriate libraries for compiling these packages,
> after they give some vague error of something missing. I was wondering why
> there is no formal system of specifying non-R dependencies in the
> DESCRIPTION file. If this would be the case, then during the installation of
> an R package, the user could be prompted to install required system packages
> (if they have appropriate privileges).
> 
> So for example:
> 
> Package: XML
> Version: 3.2-0
> Depends: R (>= 1.2.0), methods, utils
> Depends-debian: libxml2-dev
> Depends-ubuntu: libxml2-dev
> Depends-redhat: libxml2-devel
> Depends-suse: libxml2-devel
> etc. 
> 
> This might make life for many people just a little easier. If they are root
> and the package is in their system repositories, than it will install
> automatically. If not, at least they know for which package to look, or
> request their sys admin to install.

Well, there is already such system in place and it is the corresponding descriptions in the distributions. Obviously as an author of the package I don't care what any particular Linux distribution uses as a name for the needed dependencies as the corresponding chaos is distribution-specific. The only person who can reasonably determine the dependencies is the maintainer of the distribution and that's what they do and as a user of the above mentioned distributions you should be thankful to them. Fortunately, normal users don't have to worry about it as major distributions already come with a large set of R packages resolving all dependencies. Hence I don't see any reason why this should have anything to do with the DESCRIPTION file. The improvements I could think of would be a parseable entry or a canonical pointer to dependency sources, but that's a whole another story.

Cheers,
Simon



More information about the R-devel mailing list