从本地安装 "nloptr_1.0.4.tar.gz" 时出错
Error while installing "nloptr_1.0.4.tar.gz" from local
当我尝试从本地安装 nloptr_1.0.4.tar.gz 时,它需要另一个 unix 库 nlopt-2.4。 2.tar.gz 我从以下线程 中解决了它
但是,即使在那之后也没有安装包
它抛出以下错误,
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’
对于上述错误,我从以下link得到线索:
https://cran.r-project.org/web/packages/ROracle/INSTALL
和
http://ab-initio.mit.edu/wiki/index.php/NLopt_Installation
基于上面的 links,我不得不将 LD_LIBRARY_PATH 变量设置为 /usr/local/lib 和 /usr/local/include
即使设置了上述环境变量,R CMD INSTALL nloptr_1.0.4.tar.gz 也没有安装并抛出相同的错误。
修复很简单。在 Debian/Ubuntu 系统上做
sudo apt-get install libnlopt-dev
因为您总是需要开发包来编译给定的库。然后它会被发现,并且 nloptr
将顺利安装。
在 RH/FC/CentOS 上与 rpms 类似。
现在,当我帮助 Jelmer 重写 nloptr 的配置时,我们确实确保它可以两种方式工作:有 安装 nlopt 库,和没有。您似乎卡在了已安装但不同 ("missing symbol") 的中间位置。如果您无法卸载 'wrong' libnlopt,我建议将 nloptr 源更改为 而不是 检查它,而是始终根据 nlopt 2.4.2 的副本构建自己,它将下载并静态编译。
当我尝试从本地安装 nloptr_1.0.4.tar.gz 时,它需要另一个 unix 库 nlopt-2.4。 2.tar.gz 我从以下线程
但是,即使在那之后也没有安装包
它抛出以下错误,
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’
对于上述错误,我从以下link得到线索:
https://cran.r-project.org/web/packages/ROracle/INSTALL
和
http://ab-initio.mit.edu/wiki/index.php/NLopt_Installation
基于上面的 links,我不得不将 LD_LIBRARY_PATH 变量设置为 /usr/local/lib 和 /usr/local/include
即使设置了上述环境变量,R CMD INSTALL nloptr_1.0.4.tar.gz 也没有安装并抛出相同的错误。
修复很简单。在 Debian/Ubuntu 系统上做
sudo apt-get install libnlopt-dev
因为您总是需要开发包来编译给定的库。然后它会被发现,并且 nloptr
将顺利安装。
在 RH/FC/CentOS 上与 rpms 类似。
现在,当我帮助 Jelmer 重写 nloptr 的配置时,我们确实确保它可以两种方式工作:有 安装 nlopt 库,和没有。您似乎卡在了已安装但不同 ("missing symbol") 的中间位置。如果您无法卸载 'wrong' libnlopt,我建议将 nloptr 源更改为 而不是 检查它,而是始终根据 nlopt 2.4.2 的副本构建自己,它将下载并静态编译。