當前位置:
首頁 > 最新 > 說起來你可能不信,我居然花了兩個小時才裝好一個R包

說起來你可能不信,我居然花了兩個小時才裝好一個R包

不僅僅編譯R語言本身會非常的麻煩,實際上還有些R包為了提高運行速度將一些功能封裝到C/C++中,隨後在安裝的時候會進行編譯。

編譯通過則萬事大吉,如果不通關就是一番折騰。比如說我最近在伺服器上安裝就遇到了這種事情,下面是解決的過程。

並不是所有的warning都可以忽視,比如說如下這種就不行。因為他說DESeq2的編譯結果是「非零返回」,也就是失敗了。而失敗的原因則是前面這個包都失敗了。

那我們逐個解決,使用安裝第一個失敗的包。

上面的報錯信息告訴我們,由於缺少兩個動態庫,xml和iconv, 導致編譯不通過。那我們藉助百度去安裝這兩個包,以xml為例

編譯libxml需要Python的頭文件,選擇自己的Python安裝路徑。

安裝完之後,還是無法直接使用R安裝,因為R不知道我們把這些軟體裝在了哪裡。解決方案就是在家目錄下新建一個文件夾,然後在其中創建一個文件.

Makevars的語法和Makefile一致,在編譯的時候裡面的變數會成為編譯工具的參數。

The most common use of a Makevars file is to set additional preprocessor options (for example include paths) for C/C++ filesvia, and additional compiler flags by setting , , or , for C, C++, FORTRAN or Fortran 9x respectively (see Creating shared objects).

由於我的伺服器管理員安裝的工具不多,所以我自己安裝了很多工具,也就有很多的路徑要添加。

之後在編譯XML時候,出了一個小問題,後來發現是因為編譯XML需要,這個工具位於我們剛剛編譯的下,所以將該目錄添加到環境PATH中即可。

解決依賴包之後,的也終於安裝上去了。

Windows和MacOS都有預編譯的二進位包,Linux要怎麼設置?

參考資料:

https://cran.r-project.org/doc/manuals/r-release/R-exts.html#Using-Makevars

https://stackoverflow.com/questions/43597632/understanding-the-contents-of-the-makevars-file-in-r-macros-variables-r-ma

http://www.ruanyifeng.com/blog/2015/02/make.html


喜歡這篇文章嗎?立刻分享出去讓更多人知道吧!

本站內容充實豐富,博大精深,小編精選每日熱門資訊,隨時更新,點擊「搶先收到最新資訊」瀏覽吧!


請您繼續閱讀更多來自 生信媛 的精彩文章:

測序之前篇:NGS測序中,接頭是如何添加上的,以及如何去接頭

TAG:生信媛 |