[Rd] Bug: Issues on Windows with SFN disabled

Dirk Eddelbuettel edd at debian.org
Thu Dec 7 18:15:02 CET 2017


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



More information about the R-devel mailing list