前段時(shí)間電腦卡死,強(qiáng)制關(guān)機(jī)后電腦無法啟動(dòng)悉罕,后重裝系統(tǒng)存筏,然后又重新安裝R和rstudio痴施,在安裝R包DESeq2的時(shí)候出現(xiàn)一系列報(bào)錯(cuò)。首先朵夏,執(zhí)行安裝命令后蔼啦,出現(xiàn)報(bào)錯(cuò):ERROR: compilation failed for package 'Hmisc' and 'RcppArmadillo'。字面意思就是這兩個(gè)依賴包編譯失敗仰猖,那就一個(gè)一個(gè)解決捏肢。
先嘗試安裝Hmisc。
install.packages("Hmisc")
報(bào)錯(cuò):dependency 'png' is not available for package 'latticeExtra'; ERROR: compilation failed for package 'jpeg'饥侵。這...依賴包的依賴包鸵赫?沒辦法,那就再安裝這兩個(gè)依賴包躏升。
install.packages("png")
出現(xiàn)報(bào)錯(cuò):libpng16.so.16: cannot open shared object file: No such file or directory辩棒。很明顯這是缺少了這個(gè)庫文件。上網(wǎng)去查煮甥,發(fā)現(xiàn)有用yum安裝的,有用conda安裝的藕赞,都嘗試了并沒有用成肘。
最后看到了一個(gè)別人解決類似庫文件的方法(https://www.cnblogs.com/liang-wei/p/9513913.html)。首先直接查找libpng16.so.16文件斧蜕,發(fā)現(xiàn)其中一個(gè)在/user/local/lib路徑下面双霍,然后做一個(gè)鏈接到/user/lib64下:
sudo ln -s /user/local/lib/libpng16.so.16 /user/lib64/libpng16.so.16
再嘗試安裝png包,無報(bào)錯(cuò)安裝成功批销。然后安裝jpeg包:
install.packages("jpeg")
依然報(bào)錯(cuò):ERROR: compilation failed for package 'jpeg'洒闸。上網(wǎng)查了一下,說是缺少libjpeg的開發(fā)包內(nèi)包含的頭文件均芽,安裝libjpeg-devel即可(https://www.cnblogs.com/weiwg/p/6592516.html):
yum install libjpeg-devel
再嘗試安裝jpeg包丘逸,安裝成功。兩個(gè)依賴包安裝成功后掀宋,安裝Hmisc包深纲,安裝成功仲锄。最后,安裝依賴包RcppArmadillo:
install.packages("RcppArmadillo")
報(bào)錯(cuò):ERROR: compilation failed for package 'RcppArmadillo'湃鹊。這個(gè)報(bào)錯(cuò)的原因是:在安裝DESeq2包時(shí)儒喊,R會(huì)搜索最新的相關(guān)安裝包進(jìn)行安裝,如果操作系統(tǒng)的版本較低與R包不兼容币呵,就會(huì)出現(xiàn)編譯等錯(cuò)誤(https://blog.csdn.net/lichangzai/article/details/39960195)怀愧。
解決辦法要么升級(jí)系統(tǒng)要么安裝較低版本的R包,我選擇了后者(操作系統(tǒng)過新也會(huì)產(chǎn)生一些問題余赢,這臺(tái)電腦操作系統(tǒng)版本原來為centos7.6芯义,之后更新為centos7.8,之前強(qiáng)制關(guān)機(jī)后無法開機(jī)據(jù)說就是新版本操作系統(tǒng)的bug没佑,好巧不巧讓我給遇上了)毕贼。那么,就下載低版本R包:http://cran.r-project.org/src/contrib/Archive/RcppArmadillo蛤奢。最新版本為0.9的鬼癣,我選擇了0.8當(dāng)中最新版本的。
然后手動(dòng)安裝R包:
R CMD INSTALL -l /home/ngs/R/x86_64-redhat-linux-gun-library/3.6 RcppArmadillo_0.8.600.0.0.tar.gz
注意啤贩,這條命令要在安裝包所在的路徑下面運(yùn)行待秃,否則需要在安裝包名稱前面加上絕對(duì)路徑。然后安裝位置就是R的library路徑下痹屹,有的系統(tǒng)可能有很多個(gè)R章郁,要注意區(qū)分你現(xiàn)在運(yùn)行的R在哪個(gè)路徑下。安裝成功后志衍,直接在rstudio里面library該安裝包暖庄,無報(bào)錯(cuò)說明安裝成功。
所有依賴包全部安裝成功后楼肪,最后安裝DESeq2培廓,無報(bào)錯(cuò),運(yùn)行正常春叫,問題解決肩钠。
另:報(bào)錯(cuò)configuration failed for package 'Rcurl'時(shí),解決方案:https://blog.csdn.net/hill_night/article/details/50221551