[R-pkg-devel] CRAN Windows failure due to old pandoc ?

Duncan Murdoch murdoch@dunc@n @end|ng |rom gm@||@com
Sat Sep 26 20:20:56 CEST 2020


On 26/09/2020 12:54 p.m., Dirk Eddelbuettel wrote:
> 
> On 26 September 2020 at 11:50, Duncan Murdoch wrote:
> | On 26/09/2020 9:14 a.m., Dirk Eddelbuettel wrote:
> | >
> | > I had a submission fail and bomb with this error on Windows:
> | >
> | >    Flavor: r-devel-windows-ix86+x86_64
> | >    Check: re-building of vignette outputs, Result: WARNING
> | >      Error(s) in re-building vignettes:
> | >      --- re-building 'vignettefilename.Rmd' using rmarkdown
> | >      pandoc.exe: unrecognized option `--lua-filter'
> | >      unrecognized option `--lua-filter'
> | >      unrecognized option `--lua-filter'
> | >      Try pandoc.exe --help for more information.
> | >      Error: processing vignette 'vignettefilename.Rmd' failed with diagnostics:
> | >      pandoc document conversion failed with error 2
> | >      --- failed re-building 'vignettefilename.Rmd'
> | >
> | >      SUMMARY: processing the following file failed:
> | >        'vignettefilename.Rmd'
> | >
> | >      Error: Vignette re-building failed.
> | >      Execution halted
> | >
> | > This looks like a host configuration problem:
> | >
> | >    edd using rob:~$ pandoc --help | grep lua
> | >      -L SCRIPTPATH         --lua-filter=SCRIPTPATH
> | >    edd using rob:~$ pandoc --version | head -1
> | >    pandoc 2.9.2.1
> | >    edd using rob:~$
> | >
> | > Can we expect CRAN to update its pandoc binary? Or will we have to 'for now'
> | > rely on 'reply-all', explaining to CRAN that the failure is from their end?
> | >
> | > As they in the press, I had reached out to CRAN but they 'have not yet
> | > responded to requests for comments' as we know they're busy. Anybody seen
> | > this error though?
> |
> | I haven't seen that one, but I regularly get errors in rgl and tables
> | because of missing or insufficient pandoc on some systems.  I added
> | lines like
> |
> |    SystemRequirements:  pandoc (>= 1.12.3) for vignettes
> |
> | to DESCRIPTION to state the Pandoc version, added rmarkdown to the
> | Suggests list, and added code like this to the start of HTML vignettes:
> |
> | ```{r echo = FALSE}
> | if (!requireNamespace("rmarkdown") ||
> | !rmarkdown::pandoc_available("1.12.3")) {
> |    warning("This vignette requires pandoc version 1.12.3; code will not
> | run in older versions.")
> |    knitr::opts_chunk$set(eval = FALSE)
> | }
> | ```
> 
> Good point!  Brooke and I actually recommend exactly that---conditional
> vignette builds---in our R Journal paper on drat for data repos (via Suggests).
> 
> But (because of the overall fragility of these pipelines as well as
> preference for generally lighter setups) my vignettes actually tend to not
> even run code.  I mostly just use three backticks followed by the language
> for which I desire highlighting from pandoc, i.e. ```r or ```c++.

Hmmm, that's strange.  From what I can see you only get the --lua-filter 
if pandoc 2.0 is available:

https://github.com/rstudio/rmarkdown/blob/66d27e09befd5f0579f0f4e27c4b9325284b9b15/R/pandoc.R#L719

I think this is the current rmarkdown version.

Duncan Murdoch


> 
> Maybe we would need to pass the minimum version check into rmarkdown as an
> option so that rmarkdown knows not to ask for `--lua-filter` on setups where
> rmarkdown knows pandoc is too old?  Or maybe make the vignette builder barf?
>   
> | This makes the test happy, though it also makes the vignette pretty
> | useless on systems that don't meet the stated requirements.  Since
> | SystemRequirements is free-form, I can see why CRAN doesn't do automatic
> | interpretation of it, but it would be nice if they did.
> 
> Alas, the free-form requirement has been a constraint for a long time indeed.
> 
> Dirk
>



More information about the R-package-devel mailing list