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.
[1] "/tmp/RtmpMM6iC1/R.INSTALLc5ca415e4310/stringi" 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.