ERROR1 之R包安装的 non-zero exit

来自专栏生信noob笔记3 人赞了文章

新的分区:讲各式各样数据处理过程中会遇到的报错,这篇是关于R包的安装,Bioconductor的更新速度和版本要求真的能气skr人。

最近做差异表达分析,主要的两个R包 DiffBind 和 DESeq2 在 Unix 上的安装都会出现这样的问题:安装的依赖包和这两个包本身,安装失败后用warning() 查看错误信息时,都显示为:

installation of package 『DESeq2』 had non-zero exit status

但回溯安装过程,可以发现non-zero exit status 的问题不止一种,或者说所有的安装失败,都会给出 non-zero exit status 的warning。以下列出几种可能的问题类型,或许可以按照这些办法解决掉安装失败的问题。

  1. ERROR: compilation failed for package

经常出现在OSX中的一个问题,缺少C++ library 提供的放头文件。解决办法是安装C++或者Xcode Command Line Tools。C++的安装不必说,Xcode Command Line Tools 的安装命令为:

xcode-select --install

安装Xcode Command Line Tools 就不会在发生 compilation failed for package 的错误了。

2. Error in if (nzchar(SHLIB_LIBADD)) SHLIB_LIBADD else character() :

argument is of length zero

参数缺失的报错,找到R安装目录下 R/etc 下是否有 Makeconf 这个文件,如果没有则需要重新安装 r-base-core 包,命令为:

sudo apt-get install r-base-core

有时候还需要安装较高版本的libtiff,注意32bit的要安装 i386:

sudo apt-get install libtiff5-dev

3. 依赖包/动态库缺失

ERROR: dependency 『scales』 is not available for package 『pheatmap』

其实就是前面的依赖包安装失败,导致其他依赖于这个依赖包的依赖包安装失败(Hmmm...我知道很绕口)。

Configuration failed because no mysql client library was found.

动态库缺失,在报错信息里找到需要安装的动态库,安装即可。

4. 其他

有的情况是可能伺服器里安装过适用于其他版本R语言的包了,导致安装失败。在bin里找到这个包,删掉重新安装。

还有的情况干脆就是R语言版本问题,没办法安装其他版本的R语言吧(心里满是对Bioconductor的怨念)

如果还是不行,检查一下 tk和tcl,重新安装一下试试...

十一就要结束了,o(╥﹏╥)o我还没放够假啊(怨念)

话说我写这个跟生信有什么关系啊......


推荐阅读:
查看原文 >>
相关文章