【问题标题】:Error Installing minqa in R/3.0.2在 R/3.0.2 中安装 minqa 时出错
【发布时间】:2014-02-04 14:39:27
【问题描述】:

我正在使用their github account 上的README.md 文件安装lme4,但在安装依赖项时失败。我尝试单独安装它们,但在安装 minqa 包时仍然崩溃。我在 RHEL6 上使用 R/3.0.2。在构建期间,编译器争论 RScript 不存在,我检查它在 R/bin 文件夹中。

这是 R INSTALL 的日志:

$ R CMD INSTALL minqa_1.2.2.tar.gz 
* installing to library ‘/gpfs/apps/x86_64-rhel6/R/3.0.2/R/library’
* installing *source* package ‘minqa’ ...
** package ‘minqa’ successfully unpacked and MD5 sums checked
** libs
gfortran   -fpic  -g -O2  -c altmov.f -o altmov.o
gfortran   -fpic  -g -O2  -c bigden.f -o bigden.o
gfortran   -fpic  -g -O2  -c biglag.f -o biglag.o
gfortran   -fpic  -g -O2  -c bobyqa.f -o bobyqa.o
gfortran   -fpic  -g -O2  -c bobyqb.f -o bobyqb.o
gfortran   -fpic  -g -O2  -c lagmax.f -o lagmax.o
g++ -I/gpfs/apps/x86_64-rhel6/R/3.0.2/R/include -DNDEBUG  -I/usr/local/include -I"/gpfs/apps/x86_64-rhel6/R/3.0.2/R/library/Rcpp/include"   -fpic  -g -O2  -c minqa.cpp -o minqa.o
gfortran   -fpic  -g -O2  -c newuoa.f -o newuoa.o
gfortran   -fpic  -g -O2  -c newuob.f -o newuob.o
gfortran   -fpic  -g -O2  -c prelim.f -o prelim.o
gfortran   -fpic  -g -O2  -c rescue.f -o rescue.o
gfortran   -fpic  -g -O2  -c trsapp.f -o trsapp.o
gfortran   -fpic  -g -O2  -c trsbox.f -o trsbox.o
gfortran   -fpic  -g -O2  -c trstep.f -o trstep.o
gfortran   -fpic  -g -O2  -c uobyqa.f -o uobyqa.o
gfortran   -fpic  -g -O2  -c uobyqb.f -o uobyqb.o
gfortran   -fpic  -g -O2  -c update.f -o update.o
gfortran   -fpic  -g -O2  -c updatebobyqa.f -o updatebobyqa.o
Rscript execution error: No such file or directory
g++ -shared -L/usr/local/lib64 -o minqa.so altmov.o bigden.o biglag.o bobyqa.o bobyqb.o lagmax.o minqa.o newuoa.o newuob.o prelim.o rescue.o trsapp.o trsbox.o trstep.o uobyqa.o uobyqb.o update.o updatebobyqa.o -lgfortran -lm -L/gpfs/apps/x86_64-rhel6/R/3.0.2/R/lib -lR
Rscript execution error: No such file or directory
installing to /gpfs/apps/x86_64-rhel6/R/3.0.2/R/library/minqa/libs
** R
** preparing package for lazy loading
** help
*** installing help indices
** building package indices
** testing if installed package can be loaded
Error in dyn.load(file, DLLpath = DLLpath, ...) : 
  unable to load shared object '/gpfs/apps/x86_64-rhel6/R/3.0.2/R/library/minqa/libs/minqa.so':
  /gpfs/apps/x86_64-rhel6/R/3.0.2/R/library/minqa/libs/minqa.so: undefined symbol: _ZTIN4Rcpp7RObjectE
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/gpfs/apps/x86_64-rhel6/R/3.0.2/R/library/minqa’

【问题讨论】:

  • 这很奇怪。 可能最好询问 r-sig-mixed-models,但是......我认为这一定是某种通用环境配置问题。您是否能够:(1)从源代码安装 CRAN 软件包? (2) 通过devtools::install_github安装其他包?由于minqa 在 CRAN 上,请先尝试 install.packages("minqa"),然后重试您的 install_github("lme4","lme4") ...
  • PS 我通过谷歌搜索你的错误信息得到的只是this non-reproducible R bug ...你从system("which Rscript") 得到什么?
  • @BenBolker [install@lionxv 3.0.2]$ which Rscript /usr/global/R/3.0.2/R/bin/Rscript
  • 同意,这很奇怪。对于 R/3.0.1,它的工作非常简单。我可以从源代码安装 CRAN 包,但没有尝试 devtools::install_github。我会试一试。我也跑了install.package("minqa", dependencies=TRUE),但仍然遇到同样的错误。
  • 这代替了 g++ 编译器。此日志来自操作系统 RHEL5:icpc -shared -L/usr/local/lib64 -o minqa.so altmov.o bigden.o biglag.o bobyqa.o bobyqb.o lagmax.o minqa.o newuoa.o newuob.o prelim.o rescue.o trsapp.o trsbox.o trstep.o uobyqa.o uobyqb.o update.o updatebobyqa.o -L/gpfs/apps/x86_64-rhel5/R/3.0.1/lib64/R/library/Rcpp/lib -lRcpp -Wl,-rpath,/gpfs/apps/x86_64-rhel5/R/3.0.1/lib64/R/library/Rcpp/lib -lifport -lifcore -limf -lsvml -lm -lipgo -lirc -lpthread -lirc_s -ldl -L/usr/global/R/3.0.1/lib64/R/lib -lR installing to /gpfs/apps/x86_64-rhel5/R/3.0.1/lib64/R/library/minqa/libs

标签: r lme4 rscript


【解决方案1】:

尝试将lme4 从 1.0-5 升级到 1.0-6 时也会出现类似错误。错误消息类似于:

Error in dyn.load(file, DLLpath = DLLpath, ...) :
  unable to load shared object '/usr/local/lib/R/site-library/minqa/libs/minqa.so':
  libRcpp.so: cannot open shared object file: No such file or directory
ERROR: lazy loading failed for package ‘lme4’

要解决此问题按以下顺序安装软件包

install.packages('Rcpp')
install.packages('RcppEigen')
install.packages('minqa')
install.packages('lme4')

我猜它与 RCpp 有关;只需将版本从 0.10.6 升级到 0.11.0,就会发生一些 ABI 中断更改?

Credit 来自dmbates

【讨论】:

  • 应该是“Rcpp”而不是“RCpp”吗?
  • 在安装 install.package("minqa", dependencies=TRUE) 之前运行 lme4 为我解决了这个问题。
  • 由于与安装过程中 R 重新启动相关的模糊原因,我的启动脚本每次输出“Hello[...]”,minqa 包必须安装在 R --vanilla 下。这解决了我的问题。
  • 如果你使用的是linux:sudo apt-get build-dep r-cran-lme4
【解决方案2】:

/usr/share/R/share/make/shlib.mk:6: 目标“minqa.so”的配方失败 make: *** [minqa.so] 错误 1

我在安装 minqa(lme4 需要)时遇到了同样的错误。这是由于修改 /etc/R/Rprofile.site 中的 .First()

Desactive .First 或使用 R --vanilla。

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-08-03
    • 1970-01-01
    • 2016-04-30
    • 2017-07-15
    • 1970-01-01
    相关资源
    最近更新 更多