From edd at debian.org  Thu Dec  7 18:15:02 2017
From: edd at debian.org (Dirk Eddelbuettel)
Date: Thu, 7 Dec 2017 11:15:02 -0600
Subject: [Rd] Bug: Issues on Windows with SFN disabled
In-Reply-To: <e17103b5-b473-6dac-7de4-1df157f973d2@gmail.com>
References: <CAD7tZLXB=73wY9tqLmYhTXyBB9DMO1WZXGz3U9pHz9KgEX4K=Q@mail.gmail.com>
 <34ec506d-bec1-544f-9067-2109bd0db1e5@gmail.com>
 <93be1744-51e7-7d97-ee08-cb16857b79a2@gmail.com>
 <e17103b5-b473-6dac-7de4-1df157f973d2@gmail.com>
Message-ID: <23081.30486.281015.895433@bud.eddelbuettel.com>


On 7 December 2017 at 17:56, Tomas Kalibera wrote:
| 
| An update on this. Writing R Extensions does not recommend to have a 
| space character in R_HOME. This means that on Windows one either should 
| have SFN enabled (which is still the common case), or install into a 
| directory that does not have a space in its name (so specifically not 
| into "Program Files"). This recommendation unfortunately needs to stay 
| for now.
| 
| WRE recommends that Makefiles are written to be robust against space 
| characters inside R_HOME. All path names passed from a Makefile to the 
| shell should be quoted at least if they include R_HOME. Make "include" 
| directives should not be used on path names that are derived from 
| R_HOME, but one should instead use the "-f" option multiple times when 
| recursively invoking make. Maintainers of packages that use "include" 
| with R_HOME have been notified. Unfortunately, the number of packages 
| that do not quote pathnames with R_HOME in Makefiles is rather large, so 
| fixing will take some time.
| 
| Currently, R-devel should build fine on Windows with R_HOME including 
| space, including all base and recommended packages, and tests for these 
| packages should pass even though this is not regularly tested. If you 
| find a case when this does not work, please submit a bug report.

Why does the Windows installer default to using a directory with spaces?

Related (but moderately more advanced), why does R still install "everything"
under one (versioned) directory so that uninformed users on upgrade "miss"
all previously installed packages?

Why not (with space for exposition here, imagine s/ // everywhere below)

    $SOMEROOTDIR / R /
                      R-a.b.c/          # before
                      R-a.b.d/          # d > c, here
                      site-library/     # with .libPaths having this preset?

I don't really care as I manage to work mostly / entirely on another OS, but
I just don't understand why we do not put two and two together. But I am
likely unaware of some salient issues.

In any event, I appreciate the thankless work of those taking care of Windoze
(ie Tomas, Jeroen, Duncan (now ex-officio), Brian, ...)

Dirk

-- 
http://dirk.eddelbuettel.com | @eddelbuettel | edd at debian.org



[Rd] Bug: Issues on Windows with SFN disabled
Dirk Eddelbuettel