Installation failure with 'pak' - invalid binary

未关闭
#416 2 条评论 0 个 reaction 已指派 0 人 在 GitHub 查看

还没有人认领这个 Issue。

评估

难度
4/5
预计耗时
3-5 天
新手友好度
35/100
Issue 类型
缺陷
描述清晰度
基本清楚
活跃度
停滞
技术栈
linux, r, ubuntu

调研方向

Start by reproducing the pak::pkg_install("devtools") command on Ubuntu and inspect the cached httpuv_1.6.16.tar.gz alongside the verify_extracted_package failure in the reported backtrace. Trace whether the artifact is produced or selected by this repository or by pak; done means the installation path no longer rejects the httpuv package as a missing Meta/package.rds binary.

由索引模型根据 Issue 内容生成。

描述

I'm getting a failure trying to install devtools on Ubuntu using pak, it points to an invalid binary httpuv package:

# /opt/R/4.0.5/bin/Rscript -e 'pak::pkg_install("devtools")'
v Loading metadata database ... done
 
> Will install 37 packages.
> All 37 packages (0 B) are cached.
+ Rcpp          1.0.14  
+ httpuv        1.6.16   + v make, v zlib1g-dev
+ pillar        1.10.2  
+ pkgbuild      1.4.7   
+ pkgconfig     2.0.3   
+ pkgdown       2.1.1    + v pandoc
+ pkgload       1.4.0   
+ praise        1.0.0   
+ prettyunits   1.2.0   
+ processx      3.8.6   
+ profvis       0.4.0   
+ promises      1.3.2   
+ ps            1.9.1   
+ ragg          1.4.0    + v libfreetype6-dev, v libjpeg-dev, v libpng-dev, v libtiff-dev
+ rcmdcheck     1.4.0   
+ remotes       2.5.0    + v git
+ rmarkdown     2.29     + v pandoc
+ roxygen2      7.3.2   
+ rversions     2.1.2   
+ sass          0.4.10   + v make
+ sessioninfo   1.2.3   
+ shiny         1.10.0  
+ sourcetools   0.1.7-1 
+ stringi       1.8.7    + v libicu-dev
+ stringr       1.5.1   
+ systemfonts   1.2.2    + v libfontconfig1-dev, v libfreetype6-dev
+ testthat      3.2.3   
+ textshaping   1.0.0    + v libfreetype6-dev, v libfribidi-dev, v libharfbuzz-dev
+ tibble        3.2.1   
+ tinytex       0.57    
+ urlchecker    1.0.1   
+ utf8          1.2.4   
+ waldo         0.6.1   
+ xfun          0.52    
+ xml2          1.3.8    + v libxml2-dev
+ xopen         1.0.1   
+ xtable        1.8-4   
v All system requirements are already installed.
  
i No downloads are needed, 37 pkgs are cached
v Got ragg 1.4.0 (x86_64-pc-linux-gnu-ubuntu-24.04) (431.17 kB)
v Got tinytex 0.57 (x86_64-pc-linux-gnu-ubuntu-24.04) (36.58 kB)
v Got ps 1.9.1 (x86_64-pc-linux-gnu-ubuntu-24.04) (168.75 kB)
v Got sass 0.4.10 (x86_64-pc-linux-gnu-ubuntu-24.04) (3.03 MB)
v Got httpuv 1.6.16 (x86_64-pc-linux-gnu-ubuntu-24.04) (1.90 MB)
v Installed pillar 1.10.2  (109ms)
v Installed pkgbuild 1.4.7  (157ms)
v Installed pkgconfig 2.0.3  (180ms)
Error: 
! error in pak subprocess
Caused by error in `verify_extracted_package(filename, pkg_cache)`:
! /tmp/Rtmp4yPD2c/file4621a206b85/src/contrib/x86_64-pc-linux-gnu-ubuntu-24.04/4.0/httpuv_1.6.16.tar.gz is not a valid binary, it is missing httpuv/Meta/package.rds.
---
Backtrace:
1. pak::pkg_install("devtools")
2. pak:::remote(function(...) get("pkg_install_do_plan", asNamespace("pak"))(...), ...
3. err$throw(res$error)
---
Subprocess backtrace:
 1. base::withCallingHandlers(cli_message = function(msg) { ...
 2. get("pkg_install_do_plan", asNamespace("pak"))(...)
 3. proposal$install()
 4. pkgdepends::install_package_plan(plan, lib = private$library, num_workers = nw, ...
 5. base::withCallingHandlers({ ...
 6. pkgdepends:::handle_events(state, events)
 7. pkgdepends:::handle_event(state, i)
 8. proc$get_result()
 9. processx:::process_get_result(self, private)
10. private$post_process()
11. pkgdepends:::install_extracted_binary(filename, lib_cache, pkg_cache, lib, ...
12. pkgdepends:::verify_extracted_package(filename, pkg_cache)
13. base::throw(pkg_error("{.path {filename}} is not a valid binary, it is missing {miss}.", ...
14. | base::signalCondition(cond)
15. global (function (e) ...
Execution halted

Looking at the .tar.gz file, it does indeed seem to be a source distribution instead of a binary, so I'm not sure whether this is a problem with the artifact itself or with pak. I did upgrade pak to version 0.8.0.2 and the problem persists, though.

Any advice?

主要语言
C
星标
252
派生
87
PR 合并指标
30 天内没有已合并 PR

环境准备

  • 没有 Dockerfile 或 Docker Compose 文件
  • 没有 Pull Request 模板
  • 阅读贡献指南

从这里开始

  1. 先读完整个 Issue,再读项目的贡献指南。
  2. 在 Issue 下留言说明你要接手 —— 这能避免两个人做同样的事。
  3. Fork 仓库,在一个分支上完成修改。
  4. 提交 Pull Request,并在描述里引用这个 Issue 编号。

rstudio/httpuv 的其他 Issue

查看 rstudio/httpuv 的全部 Issue

相似的 Issue

更多 C Issue

把新 issue 发到你的邮箱

精选适合新手参与的 GitHub issue 摘要。