简体   繁体   English

Github 上的 R-CMD-check 失败,存在“配置”但不可执行——请参阅“R 安装和管理手册”

[英]R-CMD-check on Github fails with 'configure' exists but is not executable -- see the 'R Installation and Administration Manual'

I'm developing a R package with compiled code.我正在开发一个带有编译代码的 R 包。 I have a configure file that should be run during installation.我有一个应该在安装期间运行的配置文件。 R CMD CHECK works fine on my local Ubuntu machine. R CMD CHECK在我本地的 Ubuntu 机器上运行良好。 However, it fails on all OS checks on GitHub with the error (for Ubuntu):但是,它在 GitHub 上的所有操作系统检查都失败并出现错误(对于 Ubuntu):

Run r-lib/actions/check-r-package@v2
Run ## --------------------------------------------------------------------
── R CMD build ─────────────────────────────────────────────────────────────────
* checking for file ‘.../DESCRIPTION’ ... OK
* preparing ‘idps’:
* checking DESCRIPTION meta-information ... OK
* cleaning src
* installing the package to build vignettes
      -----------------------------------
* installing *source* package ‘idps’ ...
** using staged installation
ERROR: 'configure' exists but is not executable -- see the 'R Installation and Administration Manual'
* removing ‘/tmp/RtmpgriSYl/Rinst1bf31f43445d/idps’
      -----------------------------------
ERROR: package installation failed
Error: Error in proc$get_built_file() : Build process failed
Calls: <Anonymous> ... build_package -> with_envvar -> force -> <Anonymous>
Execution halted
Error: Process completed with exit code 1.
Run ## --------------------------------------------------------------------
Show testthat output
Run actions/upload-artifact@v3
Warning: No files were found with the provided path: /home/runner/work/idps/idps/check. No artifacts will be uploaded.

Similar error occurs with the other OS checks.其他操作系统检查也会出现类似的错误。 I have tried to make configure file executable, but it did not work.我试图使配置文件可执行,但它没有用。 I have also to edit the yaml file and set a TMPDIR, it didn't work as well.我还必须编辑yaml文件并设置 TMPDIR,但效果不佳。

The workflow file is here .工作流文件在这里 The result of R CMD CHECK on all selected OS is here .在所有选定的操作系统上执行R CMD CHECK的结果都在这里 My question would be how to solve this issue?我的问题是如何解决这个问题?

EDIT: So far, changing the exceuability of scripts solved the issue for Ubuntu checks:编辑:到目前为止,更改脚本的可执行性解决了 Ubuntu 检查的问题:

chmod +x configure cleanup 
git update-index --chmod=+x configure cleanup

Maybe someone will find this useful in the future (probably me as well), so what I did so far:也许将来有人会发现这很有用(可能我也是),所以我到目前为止所做的:

  1. Changing the executability of scripts solved the issue for Ubuntu & macOS checks as:更改脚本的可执行性解决了 Ubuntu 和 macOS 检查的问题:
chmod +x configure cleanup
git update-index --chmod=+x configure cleanup
  1. I added modified the R-CMD-Check.yaml by adding this lines to ensure that dependencies are met:我通过添加以下行来修改R-CMD-Check.yaml ,以确保满足依赖关系:
      - name: "[Stage] [macOS] Install required system libs"
        if: runner.os == 'macOS'
        run: brew install fftw

      - name: "[Stage] [Windows] Install required system libs"
        if: runner.os == 'Windows'
        run: pacman -Syu mingw-w64-x86_64-make mingw-w64-x86_64-pkg-config mingw-w64-x86_64-fftw --noconfirm

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM