ERROR1 之R包安裝的 non-zero exit
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。以下列出幾種可能的問題類型,或許可以按照這些辦法解決掉安裝失敗的問題。
- 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我還沒放夠假啊(怨念)
話說我寫這個跟生信有什麼關係啊......
推薦閱讀: