【问题标题】:Error while installing "nloptr_1.0.4.tar.gz" from local从本地安装“nloptr_1.0.4.tar.gz”时出错
【发布时间】:2016-03-30 11:16:14
【问题描述】:

当我尝试从本地安装 nloptr_1.0.4.tar.gz 时,它需要另一个我得到的 unix 库 nlopt-2.4.2.tar.gz从以下线程Error while installing a tar.gz package in R解决
但是,即使在此之后,该软件包也没有安装
它会抛出以下错误,

Error in dyn.load(file, DLLpath = DLLpath, ...) : 
  unable to load shared object '/home/cloudera/R/x86_64-redhat-linux-gnu-library/3.2/nloptr/libs/nloptr.so':
  /home/cloudera/R/x86_64-redhat-linux-gnu-library/3.2/nloptr/libs/nloptr.so: undefined symbol: nlopt_set_maxtime
Error: loading failed
Execution halted
ERROR: loading failed
* removing ‘/home/cloudera/R/x86_64-redhat-linux-gnu-library/3.2/nloptr’

对于上述错误,我从以下链接获得了线索:
https://cran.r-project.org/web/packages/ROracle/INSTALL
http://ab-initio.mit.edu/wiki/index.php/NLopt_Installation

基于上述链接,我必须将 LD_LIBRARY_PATH 变量设置为 /usr/local/lib/usr/local/include
即使设置了上述环境变量,R CMD INSTALL nloptr_1.0.4.tar.gz 也没有安装并抛出相同的错误。

【问题讨论】:

    标签: r unix ubuntu-14.04 r-package


    【解决方案1】:

    修复很简单。在 Debian/Ubuntu 系统上做

    sudo apt-get install libnlopt-dev
    

    因为您总是需要开发包来编译给定的库。然后会找到它,nloptr 将顺利安装。

    同样在带有 rpm 的 RH/FC/CentOS 上。

    现在,当我帮助 Jelmer 重写 nloptr 的配置时,我们确实确保它可以双向工作:安装 nlopt 库,没有。您似乎与已安装但不同(“缺少符号”)的一个卡在中间。如果您无法卸载那个“错误”的 libnlopt,我建议将 nloptr 源代码更改为检查它,而是始终根据 nlopt 2.4.2 的副本构建自身,它将下载并静态编译。

    【讨论】:

      猜你喜欢
      • 2019-04-16
      • 2010-12-04
      • 1970-01-01
      • 2013-02-03
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-12-06
      • 1970-01-01
      相关资源
      最近更新 更多