简体   繁体   中英

ERROR: lazy loading failed for package RcppArmadillo on R 3.5.3

I am having some issues getting Travis-CI to install RcppArmadillo on Ubuntu 16.04 with R-oldrel (3.5.3) although it works for R-release (3.6.1) and R-devel. I get the following error:

* 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.

Here is the link to the complete error log: https://travis-ci.org/jmgirard/circumplex/jobs/574588838

In case I messed up the travis configuration, here is my yml file:

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

Is this just an issue with R-oldrel and I need to wait for it to phase out, or can I avoid the error by changing my configuration somehow? Thanks in advance and my apologies if this is a silly question and/or has been answered elsewhere (I looked but couldn't find one).

I believe this is an interaction between the binary packages that you have specified ( dplyr and rcpp ) and the fact it is the old release of R. Basically, I believe the binary versions are not usable with this older R. If you remove the r_binary_packages , only for the r: oldrel , it should work. You can move the r_binary_packages into each of the sections about the R version.

...
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

The technical post webpages of this site follow the CC BY-SA 4.0 protocol. If you need to reprint, please indicate the site URL or the original address.Any question please contact:yoyou2525@163.com.

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