NOAA-EDAB / ecodata

A data package for reporting on Northeast Continental Shelf ecosystem status and trends.
https://noaa-edab.github.io/ecodata/
Other
31 stars 12 forks source link

[Bug Report]: Recent Installation Failures w/o Cause #158

Open adamkemberling opened 1 month ago

adamkemberling commented 1 month ago

Describe the bug

Recently (last few months) myself and a few others have been unable to install ecodata using remotes::install_github("noaa-edab/ecodata") or devtools::install_github("noaa-edab/ecodata")

encountering the following general error:

Error in utils::download.file(url, path, method = method, quiet = quiet,  : 
  download from 'https://api.github.com/repos/NOAA-EDAB/ecodata/tarball/HEAD' failed

Describe the situation

Bug was encountered installing ecodata for the first time for me.

Additional information

I was able to resolve the issue by cloning the repository and trying to install it using Rstudio's build tab. Done this way the failed install pointed to missing packages in the Suggests: section of the DESCRIPTION file.

This makes me think there was some issue with the dependency checking. May just need a devtools::document() call, not really sure. Wanted to flag.

adamkemberling commented 1 month ago

I did a quick check. Even though I can successfully install it through Rstudio if I clone it and install all the suggested dependencies, the install from GitHub remotes::install_github("noaa-edab/ecodata",build_vignettes=TRUE) still fails:

Downloading GitHub repo noaa-edab/ecodata@HEAD
Error in utils::download.file(url, path, method = method, quiet = quiet,  : 
  download from 'https://api.github.com/repos/noaa-edab/ecodata/tarball/HEAD' failed

Makes me think something else might be the problem. And also want to confirm that its my colleagues first time installing it on their laptop as well, so a recent issue with installation.

andybeet commented 1 month ago

@BBeltz1 i suggest we add a R-CMD check workflow that attempts to install on different platforms using different versions of R. Happy to add this

BBeltz1 commented 1 month ago

@andybeet Sounds good to me, thanks

adamkemberling commented 1 month ago

Also, thank y'all for all the effort on this. It's exciting to see the activity and be able to engage, good stuff.

andybeet commented 1 month ago

@adamkemberling can you provide some info about the environemt that is having issues. eg. run reprex::reprex(sessionInfo()) and then paste the result here

adamkemberling commented 1 month ago

Having trouble on this laptop:

sessionInfo()
#> R version 4.4.1 (2024-06-14)
#> Platform: aarch64-apple-darwin20
#> Running under: macOS 15.0.1
#> 
#> Matrix products: default
#> BLAS:   /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRblas.0.dylib 
#> LAPACK: /Library/Frameworks/R.framework/Versions/4.4-arm64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.0
#> 
#> locale:
#> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
#> 
#> time zone: America/New_York
#> tzcode source: internal
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> loaded via a namespace (and not attached):
#>  [1] styler_1.10.3     digest_0.6.35     fastmap_1.2.0     xfun_0.45        
#>  [5] magrittr_2.0.3    glue_1.8.0        R.utils_2.12.3    knitr_1.47       
#>  [9] htmltools_0.5.8.1 rmarkdown_2.27    lifecycle_1.0.4   cli_3.6.3        
#> [13] R.methodsS3_1.8.2 vctrs_0.6.5       reprex_2.1.0      withr_3.0.1      
#> [17] compiler_4.4.1    R.oo_1.26.0       R.cache_0.16.0    purrr_1.0.2      
#> [21] rstudioapi_0.16.0 tools_4.4.1       evaluate_0.24.0   yaml_2.3.8       
#> [25] rlang_1.1.4       fs_1.6.4

As well as this one:

sessionInfo()
#> R version 4.2.2 (2022-10-31)
#> Platform: x86_64-apple-darwin17.0 (64-bit)
#> Running under: macOS Big Sur ... 10.16
#>
#> Matrix products: default
#> BLAS:   /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRblas.0.dylib
#> LAPACK: /Library/Frameworks/R.framework/Versions/4.2/Resources/lib/libRlapack.dylib
#>
#> locale:
#> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
#>
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base
#>
#> loaded via a namespace (and not attached):
#>  [1] digest_0.6.31     withr_3.0.0       R.methodsS3_1.8.2 lifecycle_1.0.4
#>  [5] magrittr_2.0.3    reprex_2.0.2      evaluate_0.20     rlang_1.1.4
#>  [9] cli_3.6.3         rstudioapi_0.14   fs_1.6.4          R.utils_2.12.2
#> [13] R.oo_1.25.0       vctrs_0.6.5       styler_1.8.1      rmarkdown_2.20
#> [17] tools_4.2.2       R.cache_0.16.0    glue_1.7.0        purrr_1.0.2
#> [21] xfun_0.43         yaml_2.3.7        fastmap_1.1.1     compiler_4.2.2
#> [25] htmltools_0.5.4   knitr_1.42
andybeet commented 1 month ago

ok. So we now have automated workflows passing the installation of ecodata on mac-os (Running mac 14.7, R 4.4.1). No issues, nothing special we had to tweak

Can you try installing from the dev branch? Try on your newer laptop first since that is most similar.

remotes::install_github("noaa-edab/ecodata@dev")

Let us know the outcome. If it fails with the same error message can you try to install another package from GitHub, for example dplyr.

adamkemberling commented 1 month ago

No luck with the dev branch:

Downloading GitHub repo noaa-edab/ecodata@dev
Error in utils::download.file(url, path, method = method, quiet = quiet,  : 
  download from 'https://api.github.com/repos/noaa-edab/ecodata/tarball/dev' failed

Installing dplyr with devtools::install_github("https://github.com/tidyverse/dplyr") was succesful.

I have another colleague who isn't having any install issues. Here is their session info:

sessionInfo()
#> R version 4.4.1 (2024-06-14)
#> Platform: x86_64-apple-darwin20
#> Running under: macOS Sonoma 14.5
#> 
#> Matrix products: default
#> BLAS:   /System/Library/Frameworks/Accelerate.framework/Versions/A/Frameworks/vecLib.framework/Versions/A/libBLAS.dylib 
#> LAPACK: /Library/Frameworks/R.framework/Versions/4.4-x86_64/Resources/lib/libRlapack.dylib;  LAPACK version 3.12.0
#> 
#> locale:
#> [1] en_US.UTF-8/en_US.UTF-8/en_US.UTF-8/C/en_US.UTF-8/en_US.UTF-8
#> 
#> time zone: America/New_York
#> tzcode source: internal
#> 
#> attached base packages:
#> [1] stats     graphics  grDevices utils     datasets  methods   base     
#> 
#> loaded via a namespace (and not attached):
#>  [1] compiler_4.4.1    fastmap_1.2.0     cli_3.6.3         tools_4.4.1      
#>  [5] htmltools_0.5.8.1 withr_3.0.1       fs_1.6.4          glue_1.8.0       
#>  [9] yaml_2.3.10       rmarkdown_2.28    knitr_1.48        reprex_2.1.1     
#> [13] xfun_0.48         digest_0.6.37     lifecycle_1.0.4   rlang_1.1.4      
#> [17] evaluate_1.0.1
adamkemberling commented 1 month ago

I'm happy to keep trying things, but I want to also say that with the clone-install workaround I am not hung up on this and am able to work. Don't feel a need to make this a priority.

andybeet commented 1 month ago

Can you see if using pak instead of remotes helps?

pak::pak("noaa-edab/ecodata@dev")

andybeet commented 1 month ago

So i think this may be an API related issue. Can you try this please? (if this works i'm going to add some comments in the read me)

  1. Run this in Rstudio console write('CURL_SSL_BACKEND=openssl', file = "~/.Renviron", append = TRUE)
  2. restart R
  3. check to make sure this took. type curl::curl_version()$ssl_version and confirm the return is OpenSSL/1.1.1m (Schannel) (note the numbers may be different)
  4. install using pak (pak::pak("noaa-edab/ecodata@dev"))
adamkemberling commented 1 month ago

I'm not sure if update the Renviron had the intended behavior, this is what curl::curl_version()$ssl_version returns: LibreSSL/3.3.6

The download using pak did work though, but it took 2-3 minutes and kind of hung at around 80%

image

Idk if that helps.