You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
ip$install() call fails on verifying the binary package after the installation proposal download call (see below for an example)
Fail is random, as it may use the resolution$sources item that is not Archive most of the time
Fail sometimes happens if non-archive source is downloaded
can be mitigated with another download
This was detected when installing insightsengineering/teal.modules.clinical with 2 problematic binary packages nloptr and urltools (using ppm snapshot or latest).
Is there an option to disable resolving the Archive URL?
doesn't happen only on Archive URL (however, this one always downloads source packages)
Could the method fall back to installing a source package or re-downloading again?
Reproducible example
note: I think this results from a race condition when downloading the file with pkgcache::download_one_of(...) and it downloads a source archive.
.Last.error#> <install_input_error/rlib_error_3_0/rlib_error/error>#> Error in `verify_extracted_package(filename, pkg_cache)` at install-binary.R:5:3:#> ! #> /tmp/Rtmpaxpmb1/file4cf621cf4b41/src/contrib/x86_64-pc-linux-gnu-ubuntu-24.04/4.4/nloptr_2.0.3.tar.gz#> is not a valid binary, it is missing nloptr/Meta/package.rds.#> ---#> Backtrace:#> 1. ip$install()#> 2. pkgdepends::install_package_plan(plan, lib = private$library, num_workers = nw, … at pkg-installation.R:466:7#> 3. base::withCallingHandlers({ … at install-plan.R:107:3#> 4. pkgdepends:::handle_events(state, events) at install-plan.R:120:7#> 5. pkgdepends:::handle_event(state, i) at install-plan.R:210:3#> 6. proc$get_result() at install-plan.R:239:3#> 7. processx:::process_get_result(self, private) at process.R:576:18#> 8. private$post_process() at process.R:784:5#> 9. pkgdepends:::install_extracted_binary(filename, lib_cache, pkg_cache, lib, … at install-binary.R:140:4#> 10. pkgdepends:::verify_extracted_package(filename, pkg_cache) at install-binary.R:5:3#> 11. pkgdepends:::throw(pkg_error("{.path {filename}} is not a valid binary, it is missing {miss}."… at install-verify-binary.R:30:5
The text was updated successfully, but these errors were encountered:
averissimo
changed the title
"Archive" url is being used to download binary packages
binary packages install are failing when download method gets source
Jun 4, 2024
# Pull Request
- Closes#44
Part of insightsengineering/coredev-tasks#546
Upstream bug: r-lib/pkgdepends#367
#### Changes description:
- Removes sources links that include "src/contrib/Archive"
- When `{pkgdepends}` attempts to download the tarball, it will try all
sources and archive-based sources are only source-code
- Re-downloads tarball using mirror.
- Last attempt to explicitly use `ppm` snapshot mirror
#### Testing
1. Install or load this branch
-
`renv::install("insightsengineering/verdepcheck@fix-random-download%40main")`
3. Clone
[`{tmc}`](https://github.com/insightsengineering/teal.modules.clinical)
- checkout `546-fix-verdepcheck@main` branch
5. Run all strategies:
- `verdepcheck::min_cohort_deps_check("/path/to/tmc")`
- `verdepcheck::min_isolated_deps_check("/path/to/tmc")`
- `verdepcheck::release_deps_check("/path/to/tmc")`
- `verdepcheck::max_deps_check("/path/to/tmc")`
ip$install()
call fails on verifying the binary package after the installation proposal download call (see below for an example)resolution$sources
item that is notArchive
most of the timeThis was detected when installing
insightsengineering/teal.modules.clinical
with 2 problematic binary packagesnloptr
andurltools
(using ppm snapshot or latest).Is there an option to disable resolving theArchive
URL?Reproducible example
note: I think this results from a race condition when downloading the file with
pkgcache::download_one_of(...)
and it downloads a source archive.The text was updated successfully, but these errors were encountered: