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我還沒放夠假啊(怨念)

話說我寫這個跟生信有什麼關係啊......


推薦閱讀:
查看原文 >>
相关文章