r-lib / rcmdcheck

Run R CMD check from R and collect the results
https://rcmdcheck.r-lib.org
Other
115 stars 26 forks source link

`R CMD check` error with `build_args = c('--compact-vignettes="gs+qpdf"')` #85

Closed aravind-j closed 5 years ago

aravind-j commented 5 years ago

R CMD check with either rcmdcheck or devtools is failing in Windows with both r-release (R version 3.5.1 (2018-07-02) -- "Feather Spray") and r-devel (R Under development (unstable) (2018-10-21 r75476) -- "Unsuffered Consequences"), when build_args = c('--compact-vignettes="gs+qpdf"') is used.

rcmdcheck::rcmdcheck(build_args = c('--compact-vignettes="gs+qpdf"'))
-- R CMD build ---------------------------------------------------------------------------------------------------------------
   The input line is too long.
Error in proc$get_built_file() : Build process failed
devtools::check(build_args = c('--compact-vignettes="gs+qpdf"'))
Writing NAMESPACE
-- Building ---------------------------------------------- germinationmetrics --
Setting env vars:
* CFLAGS    : -Wall -pedantic -fdiagnostics-color=always
* CXXFLAGS  : -Wall -pedantic -fdiagnostics-color=always
* CXX11FLAGS: -Wall -pedantic -fdiagnostics-color=always
--------------------------------------------------------------------------------
   The input line is too long.
Error in run(bin, args = real_cmdargs, stdout_line_callback = real_callback(stdout),  : 
  System command error

It is failing on both Windows 7 32 bit and Windows 10 64 bit. I have tried both Rtools version 3.4 and 3.5.0.4.

An example session info is as follows:

R Under development (unstable) (2018-10-21 r75476)
Platform: i386-w64-mingw32/i386 (32-bit)
Running under: Windows 7 (build 7601) Service Pack 1

Matrix products: default

locale:
[1] LC_COLLATE=English_India.1252  LC_CTYPE=English_India.1252    LC_MONETARY=English_India.1252
[4] LC_NUMERIC=C                   LC_TIME=English_India.1252    

attached base packages:
[1] stats     graphics  grDevices utils     datasets  methods   base     

other attached packages:
[1] germinationmetrics_0.1.1.9000 rcmdcheck_1.3.0.9000           

loaded via a namespace (and not attached):
 [1] withr_2.1.2           ggplot2_3.0.0         Rdpack_0.10-1         ps_1.2.0              devtools_2.0.0       
 [6] tidyselect_0.2.5      rprojroot_1.3-2       lattice_0.20-35       pkgconfig_2.0.2       xml2_1.2.0           
[11] compiler_3.6.0        stringr_1.3.1         prettyunits_1.0.2     fs_1.2.6              ggrepel_0.8.0        
[16] bibtex_0.4.2          Rcpp_0.12.19          cli_1.0.1             plyr_1.8.4            roxygen2_6.1.0       
[21] usethis_1.4.0         tools_3.6.0           pkgbuild_1.0.2        minpack.lm_1.2-1      debugme_1.1.0        
[26] memoise_1.1.0         nlme_3.1-137          broom_0.5.0           R6_2.3.0              bindrcpp_0.2.2       
[31] bindr_0.1.1           purrr_0.2.5           scales_1.0.0          assertthat_0.2.0      digest_0.6.18        
[36] gtable_0.2.0          stringi_1.2.4         rstudioapi_0.8.0.9000 backports_1.1.2       desc_1.2.0           
[41] munsell_0.5.0         grid_3.6.0            colorspace_1.3-2      glue_1.3.0            rlang_0.3.0          
[46] processx_3.2.0        callr_3.0.0           magrittr_1.5          commonmark_1.6        lazyeval_0.2.1       
[51] yaml_2.2.0            testthat_2.0.1        crayon_1.3.4          dplyr_0.7.7           tidyr_0.8.1          
[56] pillar_1.3.0          remotes_2.0.1         base64enc_0.1-3       gbRd_0.4-11           pkgload_1.0.1        
[61] tibble_1.4.2          xopen_1.0.0           sessioninfo_1.1.0
gaborcsardi commented 5 years ago

Can you try without the quotes, e.g.

rcmdcheck::rcmdcheck(build_args = c('--compact-vignettes=gs+qpdf'))

This works fine for me, although on macOS.

aravind-j commented 5 years ago

That did the trick. The quoted version used to work fine earlier.

gaborcsardi commented 5 years ago

We are using processx down the stream, and that needs no quoting, as no intermediate shells are involved. Ideally we should have had a note about this in the NEWS, but we missed it.