【问题标题】:R can not install packages on centos 6.5R 无法在 centos 6.5 上安装软件包
【发布时间】:2016-10-15 09:01:21
【问题描述】:

我在centos 6.5gcc version 4.4.7g++ version 4.4.7上安装了R

当我运行 R 并尝试安装包时

install.packages("fArma") 

它给出以下错误

gcc: /builddir/build/BUILD/R-3.3.0/zlib-1.2.8/target/usr/lib64/libz.a: 没有这样的文件或目录
gcc:/builddir/build/BUILD/R-3.3.0/bzip2-1.0.6/target/usr/lib64/libbz2.a:没有这样的文件或目录 gcc:/builddir/build/BUILD/R-3.3.0/xz-5.2.2/target/usr/lib64/liblzma.a:没有这样的文件或目录
gcc:/builddir/build/BUILD/R-3.3.0/pcre-8.38/target/usr/lib64/libpcre.a:没有这样的文件或目录
gcc:/builddir/build/BUILD/R-3.3.0/curl-7.48.0/target/usr/lib64/libcurl.a:没有这样的文件或目录
gcc:/builddir/build/BUILD/R-3.3.0/zlib-1.2.8/target/usr/lib64/libz.a:没有这样的文件或目录
gcc:/builddir/build/BUILD/R-3.3.0/bzip2-1.0.6/target/usr/lib64/libbz2.a:没有这样的文件或目录
gcc:/builddir/build/BUILD/R-3.3.0/xz-5.2.2/target/usr/lib64/liblzma.a:没有这样的文件或目录
gcc:/builddir/build/BUILD/R-3.3.0/pcre-8.38/target/usr/lib64/libpcre.a:没有这样的文件或目录
gcc: /builddir/build/BUILD/R-3.3.0/curl-7.48.0/target/usr/lib64/libcurl.a: 没有这样的文件或目录

make: *** [gss.so] 错误 1
错误:包“agss”编译失败
* 删除â/usr/lib64/R/library/gssâ
错误:依赖项“gss”不适用于包“fBasics”
* 删除â/usr/lib64/R/library/fBasicsâ
错误:依赖项“fBasics”不适用于包“fArma”
* 删除â/usr/lib64/R/library/fArmaâ

我检查了这些lib's 是否存在于/usr/lib64/ 中,我找到了它们,但扩展名为so

这不是缺少库的问题,我知道是因为我用另一台工作机器检查了 /usr/lib64 中的库,它是一样的。

知道可能是什么问题吗?

【问题讨论】:

  • @nrussell 你能帮忙吗?
  • 不确定this 是否正是您面临的问题。但是,他们为类似的东西(Hmisc 而不是 fArma)提供了修复。如果您还没有这样做,绝对值得一试..
  • @rurtle 感谢您的回复,但正如我所说,我检查了我是否有库并且我找到了它们,所以我认为这是一个不同的问题。
  • 如果你只有so版本的库,你应该使用它们。我的意思是你的错误是指静态链接库,你有共享对象(动态链接)库版本。所以你必须安装静态版本的库。
  • @Emad:您问题中的文字说明不同:“我找到了它们,但扩展名为 so”。 .a 是静态档案。

标签: r linux gcc


【解决方案1】:

您的包无法编译的原因是 GCC 无法编译软件,可能需要额外的包来编译。

我建议你为 yum 安装整个 c 开发套件。

你可以这样做

你首先要运行:

sudo yum groupinstall 'Development Tools'

【讨论】:

  • 为澄清而在上面编辑
【解决方案2】:

请注意路径名中的版本号:zlib-1.2.8、bzip2-1.0.6、xz-5.2.2 等。CentOS 有 zlib-1.2.3-29、bzip2-1.0.5-7 和 xz -4.999.9-0.5.beta.20091007git。

您的构建脚本显然尝试使用应该存在于您的源代码包中的库,但由于某种原因它们不存在。构建脚本似乎没有使用系统 (CentOS) 提供的库。

这个LINK 应该可以解决你的问题。

【讨论】:

  • 这些更新版本号的原因是 CentOS 6.x 包含 R 3.3.x 现在认为太旧的库。 R 开发人员决定删除所有预打包的支持库(上面指出的那些),并修改了他们的配置脚本以搜索具有最低版本要求的系统库(例如 zlib >= 1.2.5)。显然,成功构建此 R 安装的人通过合并手动构建的库更新,然后将 R 配置为静态链接到它们。现在已清空的构建目录缺少这些库。
猜你喜欢
  • 2016-08-05
  • 2020-05-23
  • 2014-06-25
  • 2016-09-17
  • 2015-08-04
  • 2018-09-16
  • 2014-12-06
  • 2019-05-17
  • 2014-11-15
相关资源
最近更新 更多