From cbeleites at units.it  Fri Feb  4 09:18:00 2011
From: cbeleites at units.it (Claudia Beleites)
Date: Fri, 04 Feb 2011 09:18:00 +0100
Subject: [Rd] dependencies on system packages
In-Reply-To: <189F3930-6DA0-4EF5-B419-CB5AAA5EF68B@r-project.org>
References: <1296786690226-3259395.post@n4.nabble.com>
	<189F3930-6DA0-4EF5-B419-CB5AAA5EF68B@r-project.org>
Message-ID: <4D4BB638.8030409@units.it>

Dear all,

 From the writing extensions manual:
"Other dependencies (external to the R system) should be listed in the 
?SystemRequirements? field, possibly amplified in a separate README file."

I guess one problem is the user may not realize that the -dev version is 
needed, and just sees libxml2 installed but the R package installation 
stopping with the respective error.

Giving the package name for specific distributions is of course polite 
(if the developer knows it). As developer you may also put into the 
README that the package's mailing list/forum/wiki/... contains 
information and ask the user to enter the package name on his distro if 
it is not already there.


my 2 ct

Claudia



Am 04.02.2011 04:48, schrieb Simon Urbanek:
> 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
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel



[Rd] dependencies on system packages
Claudia Beleites