From simon.urbanek at r-project.org  Fri Feb  4 04:48:13 2011
From: simon.urbanek at r-project.org (Simon Urbanek)
Date: Thu, 3 Feb 2011 22:48:13 -0500
Subject: [Rd] dependencies on system packages
In-Reply-To: <1296786690226-3259395.post@n4.nabble.com>
References: <1296786690226-3259395.post@n4.nabble.com>
Message-ID: <189F3930-6DA0-4EF5-B419-CB5AAA5EF68B@r-project.org>

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



[Rd] dependencies on system packages
Simon Urbanek