[R-SIG-Mac] Installing packages from source for all installed sub-architectures
Prof Brian Ripley
ripley at stats.ox.ac.uk
Tue Mar 6 07:37:43 CET 2012
Sorry, it appears that --merge-multiarch never got released except for
Windows. We can certainly finish that off.
On 06/03/2012 06:31, Dan Tenenbaum wrote:
> On Mon, Mar 5, 2012 at 10:22 PM, Prof Brian Ripley
> <ripley at stats.ox.ac.uk> wrote:
>> On 06/03/2012 01:24, Simon Urbanek wrote:
>>> On Mar 5, 2012, at 7:09 PM, Dan Tenenbaum wrote:
>>>> Are there plans to modify install.packages() on Mac so that if
>>>> type="source", the package is installed for all installed
>>>> This works for Windows.
>>>> install.packages("mypkg", type="source")
>>>> **may** do the right thing, depending on what type of native code the
>>>> package has, whether if has a configure script., etc, but there's no
>>> The same is true for Windows - to my best knowledge the rules are
>> same on all platforms -- Makefile or configure prevent a package from
>> being built for more than one architecture, because they may modify the
>> sources in-place and thus the package can only be built once. The only
>> difference I'm aware of is that some Windows packages use configure.win
>> for things other than configuration, so binary maintainers may choose to
>> ignore those but that is not the default AFAIK.
>> That's my understanding too -- a small list of such packages is already
>> known to INSTALL.
>>>> I might add that even installing a binary is not guaranteed to give
>>>> you .so files for all sub-architectures. CRAN and Bioconductor create
>>>> multi-arch binaries, but other package distributors may not do this,
>>>> in fact, they likely won't, since the procedure for generating such
>>>> binaries is not part of R and is therefore not documented as such.
>> Eh? The recommended approach, INSTALL --merge-multiarch, _is_ part of R.
>> Although I rarely use it on Macs, AFAIK it works equally well there as on
>> Windows. And install.packages() takes arguments to be passed to INSTALL via
>> INSTALL_opts .
> I never knew that --merge-multiarch was available for Macs. I tested
> it and it seems to work.
> I assumed that it was not available for Macs because it appears in the
> "Windows only" section of R CMD INSTALL --help on my R (R version
> 2.15.0 alpha (2012-03-02 r58567).
> Perhaps --merge-multiarch can be moved out of the "Windows" only
> section of R CMD INSTALL --help?
>>>> There are of course ways to work around this. But it would be nice not
>>>> to have to work around it, and it would be very nice if a single
>>>> command could install a package (and, importantly, all its
>>>> dependencies) from source for all available architectures.
>> We are not so far off that, but can only workaround _some_ of the strange
>> things package maintainers do. For example, all but 0.5% of CRAN packages
>> which install at all install 'out of the box' on Windows: the exceptions
>> need --multi-arch. On a Mac the figure appears to be 1-2%.
>> My experience is that there is a _tiny_ small proportion of R users
>> installing from source on systems with multiple architectures who care about
>> more than one architecture. (It is a long while since I used 32-bit R on
>> Windows, Mac or Linux except as an R developer to test things.) And I think
>> most of those people are knowledgeable enough to write their own scripts to
>> cover the exceptions.
>> Brian D. Ripley, ripley at stats.ox.ac.uk
>> Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
>> University of Oxford, Tel: +44 1865 272861 (self)
>> 1 South Parks Road, +44 1865 272866 (PA)
>> Oxford OX1 3TG, UK Fax: +44 1865 272595
Brian D. Ripley, ripley at stats.ox.ac.uk
Professor of Applied Statistics, http://www.stats.ox.ac.uk/~ripley/
University of Oxford, Tel: +44 1865 272861 (self)
1 South Parks Road, +44 1865 272866 (PA)
Oxford OX1 3TG, UK Fax: +44 1865 272595
More information about the R-SIG-Mac