Message-ID: <bd80b1f7-2f97-1640-3550-8dd14be2bf7b@akersting.de>
Date: 2018-01-26T08:17:26Z
From: Andreas Kersting
Subject: utils::install.packages with quiet=TRUE fails for source packages on Windows
In-Reply-To: <12f4f428-a424-404b-eee4-e01af07758c3@akersting.de>
Just noticed that this problem only occurs from within RStudio
(v1.1.414). Any ideas why?
Am 26.01.2018 um 08:56 schrieb Andreas Kersting:
> Hi,
>
> Installing a source package on Windows using utils::install.packages()
> with quiet=TRUE fails, while it works with the default quiet = FALSE.
> The problem seems to be caused by the fact that when quiet = TRUE,
> stdout and stderr are set to FALSE when calling "R CMD INSTALL" with
> base::system2() here:
> https://github.com/wch/r-source/blob/tags/R-3-4-3/src/library/utils/R/packages2.R#L660-L661.
>
>
>> trace(base::system2, quote(print(ls.str())))
> Tracing function "system2" in package "base"
> [1] "system2"
>
>
>> utils::install.packages("partDF_1.0.0.9001.tar.gz", repos = NULL, lib
> = tempdir(), quiet = TRUE)
> Tracing system2(cmd0, args, env = env, stdout = output, stderr = output)
> on entry
> args :? chr [1:5] "CMD" "INSTALL" "-l"
> "\"C:\\Users\\askers\\AppData\\Local\\Temp\\RtmpoRb97l\"" ...
> command :? chr "C:/PROGRA~1/R/R-34~1.3/bin/x64/R"
> env :? chr(0)
> input :? NULL
> invisible :? logi TRUE
> minimized :? logi FALSE
> stderr :? logi FALSE
> stdin :? chr ""
> stdout :? logi FALSE
> wait :? logi TRUE
> Warning messages:
> 1: running command '"C:/PROGRA~1/R/R-34~1.3/bin/x64/R" CMD INSTALL -l
> "C:\Users\askers\AppData\Local\Temp\RtmpoRb97l"
> "partDF_1.0.0.9001.tar.gz"' had status 1
> 2: In utils::install.packages("partDF_1.0.0.9001.tar.gz", repos = NULL,? :
> ? installation of package 'partDF_1.0.0.9001.tar.gz' had non-zero exit
> status
>
>
>> utils::install.packages("partDF_1.0.0.9001.tar.gz", repos = NULL, lib
> = tempdir(), quiet = FALSE)
> Tracing system2(cmd0, args, env = env, stdout = output, stderr = output)
> on entry
> args :? chr [1:5] "CMD" "INSTALL" "-l"
> "\"C:\\Users\\askers\\AppData\\Local\\Temp\\RtmpoRb97l\"" ...
> command :? chr "C:/PROGRA~1/R/R-34~1.3/bin/x64/R"
> env :? chr(0)
> input :? NULL
> invisible :? logi TRUE
> minimized :? logi FALSE
> stderr :? chr ""
> stdin :? chr ""
> stdout :? chr ""
> wait :? logi TRUE
> * installing *source* package 'partDF' ...
> ** libs
> c:/Rtools/mingw_64/bin/gcc? -I"C:/PROGRA~1/R/R-34~1.3/include" -DNDEBUG
> ?????? -O2 -Wall? -std=gnu99 -mtune=generic -c partDF.c -o partDF.o
> c:/Rtools/mingw_64/bin/gcc -shared -s -static-libgcc -o partDF.dll
> tmp.def partDF.o -LC:/PROGRA~1/R/R-34~1.3/bin/x64 -lR
> installing to C:/Users/askers/AppData/Local/Temp/RtmpoRb97l/partDF/libs/x64
> ** R
> ** inst
> ** byte-compile and prepare package for lazy loading
> ** help
> *** installing help indices
> ? converting help for package 'partDF'
> ??? finding HTML links ... done
> ??? anti_glob?????????????????????????????? html
> ??? partDF????????????????????????????????? html
> ??? read_partDF???????????????????????????? html
> ??? write_partDF??????????????????????????? html
> ** building package indices
> ** testing if installed package can be loaded
> * DONE (partDF)
> In R CMD INSTALL
>
>
>> sessionInfo()
> R version 3.4.3 (2017-11-30)
> Platform: x86_64-w64-mingw32/x64 (64-bit)
> Running under: Windows >= 8 x64 (build 9200)
>
> Matrix products: default
>
> locale:
> [1] LC_COLLATE=German_Germany.1252? LC_CTYPE=German_Germany.1252
> LC_MONETARY=German_Germany.1252
> [4] LC_NUMERIC=C??????????????????? LC_TIME=German_Germany.1252
>
> attached base packages:
> [1] stats???? graphics? grDevices utils???? datasets? methods?? base
>
> loaded via a namespace (and not attached):
> [1] compiler_3.4.3 tools_3.4.3??? yaml_2.1.16
>
>
> This problem is also there when installing source packages from CRAN:
>
>> utils::install.packages("mvtnorm", lib = tempdir(), quiet = TRUE)
>
> ? There is a binary version available but the source version is later:
> ??????? binary source needs_compilation
> mvtnorm? 1.0-6? 1.0-7????????????? TRUE
>
> Do you want to install from sources the package which needs compilation?
> y/n: y
> installing the source package 'mvtnorm'
>
> Tracing system2(cmd0, args, env = env, stdout = outfile, stderr =
> outfile) on entry
> args :? Named chr [1:5] "CMD" "INSTALL" "-l"
> "\"C:\\Users\\askers\\AppData\\Local\\Temp\\RtmpoRb97l\"" ...
> command :? chr "C:/PROGRA~1/R/R-34~1.3/bin/x64/R"
> env :? chr(0)
> input :? NULL
> invisible :? logi TRUE
> minimized :? logi FALSE
> stderr :? logi FALSE
> stdin :? chr ""
> stdout :? logi FALSE
> wait :? logi TRUE
> Warning messages:
> 1: running command '"C:/PROGRA~1/R/R-34~1.3/bin/x64/R" CMD INSTALL -l
> "C:\Users\askers\AppData\Local\Temp\RtmpoRb97l"
> C:\Users\askers\AppData\Local\Temp\RtmpoRb97l/downloaded_packages/mvtnorm_1.0-7.tar.gz'
> had status 1
> 2: In utils::install.packages("mvtnorm", lib = tempdir(), quiet = TRUE) :
> ? installation of package 'mvtnorm' had non-zero exit status
>
>
>
> I do not encounter this problem on my Linux machine.
>
> Andreas
>
> ______________________________________________
> R-devel at r-project.org mailing list
> https://stat.ethz.ch/mailman/listinfo/r-devel
>