错误:R 3.5.3 上的 RcppArmadillo 包延迟加载失败
Posted
技术标签:
【中文标题】错误:R 3.5.3 上的 RcppArmadillo 包延迟加载失败【英文标题】:ERROR: lazy loading failed for package RcppArmadillo on R 3.5.3 【发布时间】:2019-08-20 23:11:18 【问题描述】:我在让 Travis-CI 在带有 R-oldrel (3.5.3) 的 Ubuntu 16.04 上安装 RcppArmadillo 时遇到了一些问题,尽管它适用于 R-release (3.6.1) 和 R-devel。我收到以下错误:
* installing *source* package ‘RcppArmadillo’ ...
** package ‘RcppArmadillo’ successfully unpacked and MD5 sums checked
checking for macOS... checking LAPACK_LIBS... R-supplied partial LAPACK found
configure: WARNING: Some complex-valued LAPACK functions may not be available
** libs
g++ -std=gnu++11 -I"/home/travis/R-bin/lib/R/include" -DNDEBUG -I"/usr/lib/R/site-library/Rcpp/include" -I/home/travis/R-bin/include -I../inst/include -fopenmp -fpic -g -O2 -c RcppArmadillo.cpp -o RcppArmadillo.o
g++ -std=gnu++11 -I"/home/travis/R-bin/lib/R/include" -DNDEBUG -I"/usr/lib/R/site-library/Rcpp/include" -I/home/travis/R-bin/include -I../inst/include -fopenmp -fpic -g -O2 -c RcppExports.cpp -o RcppExports.o
g++ -std=gnu++11 -I"/home/travis/R-bin/lib/R/include" -DNDEBUG -I"/usr/lib/R/site-library/Rcpp/include" -I/home/travis/R-bin/include -I../inst/include -fopenmp -fpic -g -O2 -c fastLm.cpp -o fastLm.o
g++ -std=gnu++11 -shared -L/home/travis/R-bin/lib/R/lib -L/home/travis/R-bin/lib -o RcppArmadillo.so RcppArmadillo.o RcppExports.o fastLm.o -fopenmp -L/home/travis/R-bin/lib/R/lib -lRlapack -L/home/travis/R-bin/lib/R/lib -lRblas -lgfortran -lm -lquadmath -L/home/travis/R-bin/lib/R/lib -lR
installing to /home/travis/R/Library/RcppArmadillo/libs
** R
** inst
** byte-compile and prepare package for lazy loading
Error in rbind(info, getNamespaceInfo(env, "S3methods")) :
number of columns of matrices must match (see arg 2)
ERROR: lazy loading failed for package ‘RcppArmadillo’
* removing ‘/home/travis/R/Library/RcppArmadillo’
Error in i.p(...) :
(converted from warning) installation of package ‘RcppArmadillo’ had non-zero exit status
Calls: <Anonymous> ... with_rprofile_user -> with_envvar -> force -> force -> i.p
Execution halted
The command "Rscript -e 'deps <- remotes::dev_package_deps(dependencies = NA);remotes::install_deps(dependencies = TRUE);if (!all(deps$package %in% installed.packages())) message("missing: ", paste(setdiff(deps$package, installed.packages()), collapse=", ")); q(status = 1, save = "no")'" failed and exited with 1 during .
Your build has been stopped.
这里是完整错误日志的链接:https://travis-ci.org/jmgirard/circumplex/jobs/574588838
如果我弄乱了 travis 配置,这是我的 yml 文件:
language: R
sudo: true
cache: packages
before_install:
- sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable --yes
- sudo apt-get --yes --force-yes update -qq
- sudo apt-get install -y libudunits2-dev libproj-dev libgeos++-dev libgdal-dev libv8-dev
r_binary_packages:
- dplyr
- rcpp
matrix:
include:
- r: devel
- r: release
after_success:
- Rscript -e 'covr::codecov()'
- r: oldrel
- r: 3.3
这只是 R-oldrel 的问题,我需要等待它逐步淘汰,还是可以通过以某种方式更改配置来避免错误?提前致谢,如果这是一个愚蠢的问题和/或已在其他地方得到解答(我查看但找不到),我深表歉意。
【问题讨论】:
【参考方案1】:我相信这是您指定的二进制包(dplyr
和 rcpp
)与它是 R 的旧版本的事实之间的交互。基本上,我相信二进制版本不适用于这个旧版本R. 如果您删除 r_binary_packages
,仅适用于 r: oldrel
,它应该可以工作。您可以将r_binary_packages
移动到有关 R 版本的每个部分中。
...
matrix:
include:
- r: devel
r_binary_packages:
- dplyr
- rcpp
- r: release
r_binary_packages:
- dplyr
- rcpp
after_success:
- Rscript -e 'covr::codecov()'
- r: oldrel
- r: 3.3
【讨论】:
以上是关于错误:R 3.5.3 上的 RcppArmadillo 包延迟加载失败的主要内容,如果未能解决你的问题,请参考以下文章
getGeneratedKeys() 上的 Grails Hibernate4 升级错误