[Rd] dependencies on system packages

Ted Byers r.ted.byers at gmail.com
Fri Feb 4 20:30:48 CET 2011


From: r-devel-bounces at r-project.org [mailto:r-devel-bounces at r-project.org]
On Behalf Of Ken.Williams at thomsonreuters.com
>Sent: February-04-11 1:58 PM
>To: simon.urbanek at r-project.org; cbeleites at units.it
>Cc: r-devel at r-project.org
>Subject: Re: [Rd] dependencies on system packages
>On 2/4/11 9:01 AM, "Simon Urbanek" <simon.urbanek at r-project.org> wrote:
>
>>I'd argue that if a user attempts to install a package from sources 
>>instead of using the distribution binaries, he should know what he's 
>>doing as there is much more involved (proper tools, usually a different 
>>library location etc.).
>
>Most of the time when I build an existing package from source, it's because
I'm doing The Open Source Thing, either trying to fix some bug or add some
new feature.  One should only need to be a competent writer of R code to do
that, but often the mechanics of >building the package get in the way.

Actually, I develop enough software that I don't really have the time to do
this (debug a package's source, or extend it), though that may change at any
time as I start using it more intensively.

Normally, the only time I have been compiling R packages from source is when
there were no 64 bit Windows binaries.  Using the right RTools, along with
R's ability to install from source allowed me to use PostGreSQL and MySQL in
64 bit R on 64 biw Windows 7.  This is a counter-example related to Simon's
remarks about a user building packages from source.  His remark is valid IF
the user is making repairs or extensions, as Ken says he does.  However, it
is problemtic for those users who are faced with a situation in which there
IS no binary distribution for their specific platform.

I do precisely the same thing with open source software written for some
flavour of Unix, even though I don't have a machine with a real unix.  On my
machine (64 bit Windows 7), I have cygwin installed (and it works fine), and
for that unix software I want to use, the usual  process of "./configure"
followed by make, "make check" or "make test", and "make install" works
great.  All I have to do is read the documentation for the software or
library I want to use, in order to make certain the dependancy requirements
are satisfied.  NB: I use cygwin ONLY to pass my C++ code through gcc, as a
check on the quality of code I have already passed through MSVC++, but that
is another story.  Yes, I have the skills needed to deal with the issues
Simon raises WRT building software n a unix machine, but I know several R
users who do not, and I would not want them to be unable to use one package
or another because of there being no binary distribution for their specific
platform (of course, you know who they ask when they encounter this sort of
issue).

Thus, I agree with Dirk that more robust and user friendly option is
required.  For me, I don't care if it is a script that runs from the shell
(bash, Windows shell, &c.) or from the R menu, but I know some potential
users who would be lost unless it is something simple that can be invoked
from R's menu.

Cheers,

Ted



More information about the R-devel mailing list