From hb at biostat.ucsf.edu  Tue Jun  5 21:28:25 2012
From: hb at biostat.ucsf.edu (Henrik Bengtsson)
Date: Tue, 5 Jun 2012 12:28:25 -0700
Subject: [Rd] R CMD check: Sys.getenv("R_GSCMD") cannot contain full
 pathname (contrary to docs)
In-Reply-To: <alpine.LFD.2.02.1206051129260.1141@gannet.stats.ox.ac.uk>
References: <CAFDcVCTR0YdHxRBQ+YOt=YzLSmj5g27HpvPF1Jk9R9LQ47vLXA@mail.gmail.com>
	<CAFDcVCSox=E7Srr=AQ=oL8Bw+MpgLKYJH5ZkMvgFPih4Srx6pw@mail.gmail.com>
	<alpine.LFD.2.02.1206051129260.1141@gannet.stats.ox.ac.uk>
Message-ID: <CAFDcVCQDTrrUM7ybofsHFcDdhSpqQWDAxiPEo0HkwtgDMhtmOg@mail.gmail.com>

On Tue, Jun 5, 2012 at 3:45 AM, Prof Brian Ripley <ripley at stats.ox.ac.uk> wrote:
> This is simply not true. ?Sys.which() should accept absolute paths, and does
> on my systems (even my Windows system). ?However, it looks like you gave an
> unescaped path containing spaces. ?Most likely you need to include that path
> in double quotes (just as you would on a Windows shell).

The observered behavior now makes sense.  I saw from the SVN log that
you've already clarified this in several places of the docs.

Thanks for this.

/HB

>
>
> On Wed, 30 May 2012, Henrik Bengtsson wrote:
>
>> Bump, in case it was missed. ?This is also the case with R Under
>> development (unstable) (2012-05-25 r59443). ?/Henrik
>>
>> On Fri, Apr 20, 2012 at 2:00 PM, Henrik Bengtsson <hb at biostat.ucsf.edu>
>> wrote:
>>>
>>> Hi,
>>>
>>> in help("R_GSCMD") it says "R_GSCMD: Optional. The path to
>>> Ghostscript, used by dev2bitmap, bitmap and embedFonts. Consulted when
>>> those functions are invoked.". ?However, if 'R_GSCMD' contains a full
>>> pathname to the Ghostscript executable (as above "path" indicates),
>>> e.g.
>>>
>>>> Sys.getenv("R_GSCMD")
>>>
>>> [1] "C:\\Program Files\\gs\\gs8.71\\bin\\gswin32c.exe"
>>>
>>> then 'R CMD check' will report
>>>
>>> * checking sizes of PDF files under 'inst/doc' ... NOTE
>>> Unable to find GhostScript executable to run checks on size reduction
>>>
>>> Setting 'R_GSCMD' to "gswin32c.exe" and asserting that it is the PATH
>>> (this is on Windows), it works.
>>>
>>>
>>> TROUBLESHOOTING:
>>> In the local function check_doc_size() of tools:::.check_packages()
>>> [cf. http://svn.r-project.org/R/trunk/src/library/tools/R/check.R],
>>> the Ghostscript executable is retrieved as:
>>>
>>> ?gs_cmd <- find_gs_cmd(Sys.getenv("R_GSCMD", ""))
>>>
>>> and if nzchar(gs_cmd) is FALSE, then the 'R CMD check' NOTE appears.
>>> Inspecting tools:::find_gs_cmd, this corresponds to
>>>
>>> ?gs_cmd <- Sys.which(Sys.getenv("R_GSCMD", ""))
>>>
>>> iff 'R_GSCMD' is set. ?In other words, tools:::find_gs_cmd() assumes a
>>> basename not a full pathname.
>>>
>>>
>>> SUGGESTIONS:
>>> Update tools:::find_gs_cmd() to test for file existence before turning
>>> to Sys.which(), e.g.
>>>
>>> find_gs_cmd <- function (gs_cmd)
>>> {
>>> ? ?if (!nzchar(gs_cmd)) {
>>> ? ? ? ?if (.Platform$OS.type == "windows") {
>>> ? ? ? ? ? ?gs_cmd <- Sys.which("gswin64c")
>>> ? ? ? ? ? ?if (!nzchar(gs_cmd))
>>> ? ? ? ? ? ? ? ?gs_cmd <- Sys.which("gswin32c")
>>> ? ? ? ? ? ?gs_cmd
>>> ? ? ? ?}
>>> ? ? ? ?else Sys.which("gs")
>>> ? ?} else {
>>> ? ? ?if (file.exists(gs_cmd) && !file.info(gs_cmd)$isdir)
>>> ? ? ? ?gs_cmd
>>> ? ? ?else
>>> ? ? ? ?Sys.which(gs_cmd)
>>> ? }
>>> }
>>>
>>>
>>> /Henrik
>>>
>>>> sessionInfo()
>>>
>>> R version 2.15.0 Patched (2012-04-08 r58935)
>>> Platform: x86_64-pc-mingw32/x64 (64-bit)
>>>
>>> locale:
>>> [1] LC_COLLATE=English_United States.1252
>>> [2] LC_CTYPE=English_United States.1252
>>> [3] LC_MONETARY=English_United States.1252
>>> [4] LC_NUMERIC=C
>>> [5] LC_TIME=English_United States.1252
>>>
>>> attached base packages:
>>> [1] stats ? ? graphics ?grDevices utils ? ? datasets ?methods ? base
>>>
>>> loaded via a namespace (and not attached):
>>> [1] R.methodsS3_1.4.0 tools_2.15.0
>>
>>
>> ______________________________________________
>> R-devel at r-project.org mailing list
>> https://stat.ethz.ch/mailman/listinfo/r-devel
>>
>
> --
> 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



[Rd] R CMD check: Sys.getenv("R_GSCMD") cannot contain full pathname (contrary to docs)
Henrik Bengtsson