On 22/06/2017 5:02 PM, Conklin, Mike (GfK) wrote:
I am using debug on the .install_packages function...stepping through. Once the
temporary folder is created and the tar file expanded I run file_test and get a
FALSE back indicating that the configure file is not executable.
I don't know what is causing this bug. Perhaps a Linux user can
reproduce it and fix it.
Here's what I see:
file_test("-x") calls file.access(filename, 1L). That in turn calls the
C library function access(..., X_OK). The ... is the name of the file,
translated into the local encoding and expanded. As far as I can see,
that means ... should be exactly the string below.
[1] "/tmp/RtmpMM6iC1/R.INSTALLc5ca415e4310/stringi"
The only thing I can think of is that your system is protecting you from
executing a newly created file until some sort of virus or other check
is done. (This is common on Windows, but I've never heard of it before
on Linux.)
Hopefully someone else can help...
Duncan Murdoch
Browse[2]> dir(new)
[1] "DESCRIPTION" "INSTALL" "LICENSE" "MD5"
[5] "NAMESPACE" "NEWS" "R" "cleanup"
[9] "configure" "configure.win" "inst" "man"
[13] "src"
Browse[2]> test_file("-x",paste0(new,"/configure")
+ )
Error in test_file("-x", paste0(new, "/configure")) :
could not find function "test_file"
Browse[2]> file_test("-x",paste0(new,"/configure"))
/tmp/RtmpMM6iC1/R.INSTALLc5ca415e4310/stringi/configure
FALSE
However, at the same time, in a separate session I have the system look at the
very same file and clearly the execution bit is set.
[root@dcex1102shinypr ~]# ls -l /tmp/RtmpMM6iC1/R.INSTALLc5ca415e4310/stringi
total 312
-rwxr-xr-x 1 root root 66 Apr 2 2015 cleanup
-rwxr-xr-x 1 root root 173757 Apr 7 11:43 configure
-rw-r--r-- 1 root root 669 Jun 23 2015 configure.win
-rw-r--r-- 1 root root 1451 Apr 7 15:08 DESCRIPTION
drwxr-xr-x 2 root root 35 Jun 22 22:26 inst
-rw-r--r-- 1 root root 6207 Apr 7 11:21 INSTALL
-rw-r--r-- 1 root root 3580 Mar 21 13:29 LICENSE
drwxr-xr-x 2 root root 4096 Jun 22 22:26 man
-rw-r--r-- 1 root root 63692 Apr 7 15:08 MD5
-rw-r--r-- 1 root root 6204 Oct 24 2016 NAMESPACE
-rw-r--r-- 1 root root 22407 Apr 7 11:44 NEWS
drwxr-xr-x 2 root root 4096 Jun 22 22:26 R
drwxr-xr-x 3 root root 8192 Jun 22 22:26 src
[root@dcex1102shinypr ~]#
If I CTRL-Z out of R in the first session I confirm the same result - the
system shows the file as executable
--
W. Michael Conklin
EVP Marketing & Data Sciences
GfK
T +1 763 417 4545 | M +1 612 567 8287
-----Original Message-----
From: Duncan Murdoch [mailto:murdoch.dun...@gmail.com]
Sent: Thursday, June 22, 2017 3:06 PM
To: Conklin, Mike (GfK); Martin Maechler; David Winsemius
Cc: r-help@r-project.org
Subject: Re: [R] Missing dependencies in pkg installs
On 22/06/2017 3:42 PM, Conklin, Mike (GfK) wrote:
Not much progress..... I step through debug and it gets to the do.install() function
which immediately errors with the same "configuration not executable" error.
I believe that is a locally defined function, which means you can set a
breakpoint within it but only if R is compiled with source info, or you can
manually call debug(do_install) after it has been created (typically just
before it is called is a safe place to do this), and do the usual process.
It's still very mysterious to me why configure is losing its executable bit. What I would do if I
could reproduce this would be to run right up to the
file_test("-x","configure") line, then print my working directory, and ctrl-Z
out of R to look at the files there. That should confirm that configure is not executable.
Then the hard part is figuring out why it isn't....
Duncan
So, made a tempfunc that was a copy of tools:::.install_packages and
edited the file_test("-x","configure") line to return a TRUE
now I get a Permission Denied error (even if I run as root)
tempfunc("/home/meconk/stringi_1.1.5.tar.gz")
* installing to library '/usr/lib64/R/library'
* installing *source* package 'stringi' ...
** package 'stringi' successfully unpacked and MD5 sums checked
sh: ./configure: Permission denied
ERROR: configuration failed for package 'stringi'
* removing '/usr/lib64/R/library/stringi'
Error in do_exit(status = status) : .install_packages() exit status 1
Error in do_exit(status = status) : .install_packages() exit status 1
--
W. Michael Conklin
EVP Marketing & Data Sciences
GfK
T +1 763 417 4545 | M +1 612 567 8287
-----Original Message-----
From: Duncan Murdoch [mailto:murdoch.dun...@gmail.com]
Sent: Thursday, June 22, 2017 11:09 AM
To: Conklin, Mike (GfK); Martin Maechler; David Winsemius
Cc: r-help@r-project.org
Subject: Re: [R] Missing dependencies in pkg installs
On 22/06/2017 11:15 AM, Conklin, Mike (GfK) wrote:
Following Duncan's instructions I find that the system and R find that
configure IS executable but if trying to install via install.packages I get the
same error.
I also tried using R CMD INSTALL from the terminal and install.packages with a local file
pointing to the very same tar.gz file that shows the executable bit set. All result in
the same "configure is not executable" result.
That's very mysterious. This is hard to debug, because R runs a separate
process to do the installs. If you want to track this down you can debug the
code as follows.
1. Manually download the tarball, using any method (perhaps download.packages("stringi", destdir =
".", type = "source").
2. In R, run
debug(tools:::.install_packages)
tools:::.install_packages("stringi_1.1.5.tar.gz")
You can single step until you see the message, and try to diagnose why it is
happening.
Watch out, this function will exit R at the end.
Duncan Murdoch
[meconk@dcex1102shinypr ~]$ ls -l stringi/configure -rwxr-xr-x 1
meconk meconk 173757 Apr 7 11:43 stringi/configure
[meconk@dcex1102shinypr ~]$ sudo R [sudo] password for meconk:
R version 3.4.0 (2017-04-21) -- "You Stupid Darkness"
Copyright (C) 2017 The R Foundation for Statistical Computing
Platform: x86_64-redhat-linux-gnu (64-bit)
R is free software and comes with ABSOLUTELY NO WARRANTY.
You are welcome to redistribute it under certain conditions.
Type 'license()' or 'licence()' for distribution details.
Natural language support but running in an English locale
R is a collaborative project with many contributors.
Type 'contributors()' for more information and 'citation()' on how to
cite R or R packages in publications.
Type 'demo()' for some demos, 'help()' for on-line help, or
'help.start()' for an HTML browser interface to help.
Type 'q()' to quit R.
[Previously saved workspace restored]
getwd()
[1] "/home/meconk"
file_test("-x","stringi/configure")
stringi/configure
TRUE
install.packages("stringi")
Installing package into '/usr/lib64/R/library'
(as 'lib' is unspecified)
trying URL 'https://cloud.r-project.org/src/contrib/stringi_1.1.5.tar.gz'
Content type 'application/x-gzip' length 3645872 bytes (3.5 MB)
==================================================
downloaded 3.5 MB
* installing *source* package 'stringi' ...
** package 'stringi' successfully unpacked and MD5 sums checked
ERROR: 'configure' exists but is not executable -- see the 'R Installation and
Administration Manual'
* removing '/usr/lib64/R/library/stringi'
The downloaded source packages are in
'/tmp/Rtmpxw9twb/downloaded_packages'
Updating HTML index of packages in '.Library'
Making 'packages.html' ... done
Warning message:
In install.packages("stringi") :
installation of package 'stringi' had non-zero exit status
--
W. Michael Conklin
EVP Marketing & Data Sciences
GfK
T +1 763 417 4545 | M +1 612 567 8287
-----Original Message-----
From: R-help [mailto:r-help-boun...@r-project.org] On Behalf Of
Duncan Murdoch
Sent: Thursday, June 22, 2017 8:23 AM
To: Martin Maechler; David Winsemius
Cc: r-help@r-project.org
Subject: Re: [R] Missing dependencies in pkg installs
The "configure exists but is not executable" problem is somewhat
common on Windows, because there's usually no such thing as an
executable bit there. (Cygwin does something to fake one, but
Windows generally
doesn't.) If you create a tarball there by default you get no executable bits
marked in it.
For a long time, R CMD build has dealt with this issue by using the internal
tar() function. It corrects the executable bit with a warning during the build.
So if people are getting that error, something has gone wrong. A few
guesses:
- They are on Linux but using a mount of a Windows volume that doesn't
preserve the bit.
- They are using a tarball produced in some strange way on Windows, e.g. by
calling tar directly instead of R CMD build.
- There's a bug in R in detecting the executable bit.
Martin saw configure marked executable in the tarball from CRAN,
which means the second is unlikely (unless it was very recently
fixed), but the first is still possible. One test is to manually
expand the tarball, then use both ls and R's test to see if the
executable bit is set and is detected by R. For example, after
downloading stringi_1.1.5.tar.gz you expand it using
tar zxvf stringi_1.1.5.tar.gz
and use
ls -l stringi/configure
to see if the system thinks it is executable, and in R,
file_test("-x", "stringi/configure")
to see what R sees.
Duncan Murdoch
On 22/06/2017 3:38 AM, Martin Maechler wrote:
David Winsemius <dwinsem...@comcast.net>
on Wed, 21 Jun 2017 18:04:13 -0700 writes:
>> On Jun 21, 2017, at 1:39 PM, Conklin, Mike (GfK) <mike.conk...@gfk.com>
wrote:
>>
>> I have a Ubuntu server with an R installation that has 384 packages
installed. We are trying to replicate the system on a Red Hat Enterprise server. I
downloaded the list of packages from the Ubuntu machine and read it into an R session
on the new machine. Then I ran install.packages(listofpackages). Now I have 352
packages on the new machine but several very common packages (like much of the
tidyverse, ggplot2, Hmisc) failed to install because of missing dependencies (most of
which are the other packages that failed to install).
>>
>> R version 3.4.0 (2017-04-21)
>> Platform: x86_64-redhat-linux-gnu (64-bit)
> I'd make sure you have reviewed this:
>
https://cran.r-project.org/doc/manuals/r-patched/R-admin.html#Essent
i
a
l-programs-and-libraries
yes, but see also below ..
> Best;
> David.
>> Running under: Red Hat Enterprise Linux Server 7.2 (Maipo)
>>
>> Matrix products: default
>> BLAS/LAPACK: /usr/lib64/R/lib/libRblas.so
>>
>> locale:
>> [1] LC_CTYPE=en_US.UTF-8 LC_NUMERIC=C
>> [3] LC_TIME=en_US.UTF-8 LC_COLLATE=en_US.UTF-8
>> [5] LC_MONETARY=en_US.UTF-8 LC_MESSAGES=en_US.UTF-8
>> [7] LC_PAPER=en_US.UTF-8 LC_NAME=C
>> [9] LC_ADDRESS=C LC_TELEPHONE=C
>> [11] LC_MEASUREMENT=en_US.UTF-8 LC_IDENTIFICATION=C
>>
>> attached base packages:
>> [1] stats graphics grDevices utils datasets methods base
>>
>> other attached packages:
>> [1] dplyr_0.7.0 shiny_1.0.3
>>
>> loaded via a namespace (and not attached):
>> [1] compiler_3.4.0 magrittr_1.5 assertthat_0.2.0 R6_2.2.2
>> [5] htmltools_0.3.6 tools_3.4.0 glue_1.1.1 tibble_1.3.3
>> [9] Rcpp_0.12.11 digest_0.6.12 xtable_1.8-2 httpuv_1.3.3
>> [13] mime_0.5 rlang_0.1.1
>>>
>>
>>
>> If I try and install Hmisc for example I get the following errors:
>> for the first error ERROR: 'configure' exists but is not executable --
>> see the 'R Installation and dministration Manual' I did
>> not find the R Installation and Administration Manual
>> helpful.
why? It does assume you spend some time understanding what it is
talking about.
OTOH, it is *THE* official document on the topic, written and
constantly updated by the R core team.
Anyway: " ERROR: 'configure' exists but is not executable "
is I think a crucial piece of information .. it's from stringi's
installation failure, and the top level directory of stringi (1.1-5)
in a Unix like (ls -l with user group names removed) looks like:
-rw-r--r--. 1451 Apr 7 15:08 DESCRIPTION
-rw-r--r--. 6207 Apr 7 11:21 INSTALL
-rw-r--r--. 3580 Mar 21 13:29 LICENSE
-rw-r--r--. 63692 Apr 7 15:08 MD5
-rw-r--r--. 6204 Oct 24 2016 NAMESPACE
-rw-r--r--. 22407 Apr 7 11:44 NEWS
drwxr-xr-x. 8192 Mar 28 10:26 R
-rwxr-xr-x. 66 Apr 2 2015 cleanup
-rw-rw-r--. 32193 Apr 8 05:46 config.log
-rwxrwxr-x. 40648 Apr 8 05:46 config.status
-rwxr-xr-x. 173757 Apr 7 11:43 configure
-rw-r--r--. 669 Jun 23 2015 configure.win
drwxr-xr-x. 512 Apr 7 11:50 inst
drwxr-xr-x. 8192 Mar 28 10:26 man
drwxr-xr-x. 16384 Apr 8 05:47 src
Note the "x"s in the 'configure' line's " -rwxr-xr-x. ":
This means the file is executable and a reasonable shell can just
"call the file" and it will be executed, but that's the part which
failed for you.
.. this *is* peculiar as it looks like some of the standard Unix
tools may be misbehaving for you .. I assume it could be some OS
security "feature" playing against you..
>>
>>
>>> install.packages("Hmisc")
>> Installing package into '/usr/lib64/R/library'
>> (as 'lib' is unspecified)
>> also installing the dependencies 'stringi', 'evaluate', 'reshape2',
'stringr', knitr', 'ggplot2', 'htmlTable', 'viridis'
>>
>> trying URL 'https://cloud.r-project.org/src/contrib/stringi_1.1.5.tar.gz'
>> Content type 'application/x-gzip' length 3645872 bytes (3.5 MB)
>> ==================================================
>> downloaded 3.5 MB
>>
>> trying URL 'https://cloud.r-project.org/src/contrib/evaluate_0.10.tar.gz'
>> Content type 'application/x-gzip' length 21914 bytes (21 KB)
>> ==================================================
>> downloaded 21 KB
>>
>> trying URL
'https://cloud.r-project.org/src/contrib/reshape2_1.4.2.tar.gz'
>> Content type 'application/x-gzip' length 34688 bytes (33 KB)
>> ==================================================
>> downloaded 33 KB
>>
>> trying URL 'https://cloud.r-project.org/src/contrib/stringr_1.2.0.tar.gz'
>> Content type 'application/x-gzip' length 94095 bytes (91 KB)
>> ==================================================
>> downloaded 91 KB
>>
>> trying URL 'https://cloud.r-project.org/src/contrib/knitr_1.16.tar.gz'
>> Content type 'application/x-gzip' length 1031259 bytes (1007 KB)
>> ==================================================
>> downloaded 1007 KB
>>
>> trying URL 'https://cloud.r-project.org/src/contrib/ggplot2_2.2.1.tar.gz'
>> Content type 'application/x-gzip' length 2213308 bytes (2.1 MB)
>> ==================================================
>> downloaded 2.1 MB
>>
>> trying URL 'https://cloud.r-project.org/src/contrib/htmlTable_1.9.tar.gz'
>> Content type 'application/x-gzip' length 152095 bytes (148 KB)
>> ==================================================
>> downloaded 148 KB
>>
>> trying URL 'https://cloud.r-project.org/src/contrib/viridis_0.4.0.tar.gz'
>> Content type 'application/x-gzip' length 1787731 bytes (1.7 MB)
>> ==================================================
>> downloaded 1.7 MB
>>
>> trying URL 'https://cloud.r-project.org/src/contrib/Hmisc_4.0-3.tar.gz'
>> Content type 'application/x-gzip' length 702759 bytes (686 KB)
>> ==================================================
>> downloaded 686 KB
>>
>> * installing *source* package 'stringi' ...
>> ** package 'stringi' successfully unpacked and MD5 sums checked
>> ERROR: 'configure' exists but is not executable -- see the 'R
Installation and dministration Manual'
>> * removing '/usr/lib64/R/library/stringi'
>> ERROR: dependency 'stringi' is not available for package 'stringr'
>> * removing '/usr/lib64/R/library/stringr'
>> ERROR: dependency 'stringr' is not available for package 'evaluate'
>> * removing '/usr/lib64/R/library/evaluate'
>> ERROR: dependency 'stringr' is not available for package 'reshape2'
>> * removing '/usr/lib64/R/library/reshape2'
>> ERROR: dependencies 'evaluate', 'stringr' are not available for package
'knitr'
>> * removing '/usr/lib64/R/library/knitr'
>> ERROR: dependency 'reshape2' is not available for package 'ggplot2'
>> * removing '/usr/lib64/R/library/ggplot2'
>> ERROR: dependencies 'stringr', 'knitr' are not available for package
'htmlTable
>> * removing '/usr/lib64/R/library/htmlTable'
>> ERROR: dependency 'ggplot2' is not available for package 'viridis'
>> * removing '/usr/lib64/R/library/viridis'
>> ERROR: dependencies 'ggplot2', 'htmlTable', 'viridis' are not available
for pacage 'Hmisc'
>> * removing '/usr/lib64/R/library/Hmisc'
>>
>>
>> Any help is appreciated.
>> --
>> W. Michael Conklin
>> Executive Vice President
>> Marketing & Data Sciences - North America
>> GfK | 8401 Golden Valley Road | Minneapolis | MN | 55427
>> mike.conk...@gfk.com<mailto:mike.conk...@gfk.com>
>> T +1 763 417 4545 | M +1 612 567 8287
>> www.gfk.com<http://www.gfk.com/>
>>
>>
>> [[alternative HTML version deleted]]
>>
>> ______________________________________________
>> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
>> https://stat.ethz.ch/mailman/listinfo/r-help
>> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
>> and provide commented, minimal, self-contained, reproducible code.
> David Winsemius
> Alameda, CA, USA
> ______________________________________________
> R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
> https://stat.ethz.ch/mailman/listinfo/r-help
> PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
> and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide
http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.
______________________________________________
R-help@r-project.org mailing list -- To UNSUBSCRIBE and more, see
https://stat.ethz.ch/mailman/listinfo/r-help
PLEASE do read the posting guide http://www.R-project.org/posting-guide.html
and provide commented, minimal, self-contained, reproducible code.