[Rd] MacOS X: update.packages(type="mac.binary") fails (PR#7836)
jarioksa at sun3.oulu.fi
jarioksa at sun3.oulu.fi
Wed May 4 09:51:26 CEST 2005
Message 2 of today: it works now.
After re-installing R.app from the same R-2.1.0.dmg file, and
fixInNamespace'ing(*) install.packages(), I managed to update 23
outdated packages from CRAN binaries for MacOS X. What I did was to:
1. change call to .install.macbinaries() into call to install.binaries()
in install.packages(). install.binaries() is a function defined
2. I also had to remove argument 'dependencies' since that is not
defined in install.binaries() of utils/aqua.
It seems that install.binaries of utils/aqua is mentioned in several
places in R sources, but .install.macbinary() appears only in one place,
so changing install.packages() is less hassle than changing
utils/R/aqua/GUI.R and all other places (although this looks more
This still requires a fix in passing type in update.packages() that B.
Ripley already did for R 2.1.1, or setting
cheers, jari oksanen
(*) "Object-oriented programming is an exceptionally bad idea which
could only have originated in California." E. Dijkstra
On Tue, 2005-05-03 at 16:14 +0100, Prof Brian Ripley wrote:
> Binary installs are AFAIK only supported in the GUI, where the default is
> as documented. So .install.macbinary() is not loaded except in the GUI.
> The reason is that those binaries are tied to that particular build of R,
> and will not work with a general build on MacOS X.
> I would expect this to work from the command-line in the GUI console, and
> had believed it had been tested there.
> On Tue, 3 May 2005 jari.oksanen at oulu.fi wrote:
> > Full_Name: Jari Oksanen
> > Version: R 2.1.0
> > OS: MacOS 10.3.9
> > Submission from: (NULL) (220.127.116.11)
> > For various reasons (which need not be expanded here) I have tried to update my
> > long neglected R in MacOS X using handy command line tool update.packages()
> > using readily available binaries of contributed packages at CRAN. However, this
> > fails with message saying that packages xxxx_*_tar.gz is not found at the server
> > (HTTP error 404). Obviously, the package name is expanded wrongly as the binary
> > packages for MacOS X have type *.tgz. However, this seems not be the problem,
> > but there are two other problems:
> > 1. update.packages does not transfer the value of 'type' to the next function
> > install.packages, but install.packages uses the value of getOption("pkgType")
> > which seems to be "source" in CRAN binary of MacOS X (contrary to documentation
> > at ?options).
> > 2. If this is corrected, or first set options(pkgType="mac.binary"), the update
> > fails for missing function .install.macbinary().
> > The first problem is easy to correct:
> > --- update.packages.R 2005-05-03 17:13:36.000000000 +0300
> > +++ jarioksa.update.packages.R 2005-05-03 17:13:58.000000000 +0300
> > @@ -59,5 +59,5 @@
> > install.packages(update[, "Package"], instlib, contriburl =
> > contriburl,
> > method = method, available = available, destdir = destdir,
> > - installWithVers = installWithVers, type)
> > + installWithVers = installWithVers, type = type)
> > }
> > }
> > For the second, problem, I don't know what to do. grepping
> > R-patched_2005-05-03.tar.gz source found only one instance of
> > .install.macbinary(): the failed call in
> > R-patched/src/library/utils/R/packages2.R. I couldn't find the definition of the
> > function.
> > Do I really have to use GUI? Uh.
> > cheers, jari oksanen
> > ______________________________________________
> > R-devel at stat.math.ethz.ch mailing list
> > https://stat.ethz.ch/mailman/listinfo/r-devel
More information about the R-devel