背景:前面裝的R最新版R-4.0.2,編譯一直報錯,嘗試了多種方法,沒解決,考慮換低版本R試一下。
R-4.0.2編譯報錯如下:
1、R-3.5.3軟件的下載、編譯
wget https://mirrors.tuna.tsinghua.edu.cn/CRAN/src/base/R-3/R-3.5.3.tar.gz
tar -xzvf R-3.5.3.tar.gz
cd R-3.5.3/
./configure --enable-R-shlib --with-readline=yes --with-libpng=yes --with-blas --prefix=/usr/local/R
編譯命令的解釋,來自:https://blog.csdn.net/FirePanda007/article/details/79941235
一下解釋直接復制的:
–enable-R-shlib表示生成libR.so庫,這個當需要進行gcc等編譯的時候很重要
–with-readline=yes表示用於R shell條件下的調試優化,建議加上
–with-libpng=yes表示可導出png圖片
–with-blas表示優化R運算並生成libRblas.so庫
–prefix保證最后能完整安裝,否則make install會去安裝到/usr/lib文件夾下,非root用戶沒有權限
2、編譯報錯:報錯果然跟安裝R-4.0.2不一樣,看到了希望:
3、針對這個報錯,進行查找解決
下載安裝7.22版本以上的curl:
wget https://curl.haxx.se/download/curl-7.61.0.tar.gz
tar -xzvf curl-7.61.0.tar.gz
cd curl-7.61.0/
./configure
make
make install
4、繼續編譯R-3.5.3
剛才安裝curl 7.61 沒起作用 ?
5、查找解決問題
在/usr/bin 和 /user/local/bin 路徑下都有可執行的curl, 一個是默認的,一個是最新的 ,考慮通過軟連接都改為最新的。
6、備份/usr/bin 下的curl
在/usr/bin 發現有兩個與curl 相關的文件。
在/usr/local/bin 也發現兩個與curl相關的文件。
開始備份/user/bin 下面的 curl 相關文件。
mv /usr/bin/curl /usr/bin/curl_back mv /usr/bin/curl-config /usr/bin/curl-config_back
在/usr/local/bin下面的curl文件在/usr/bin下建立軟連接:
ln -s /usr/local/bin/curl /usr/bin/curl ln -s /usr/local/bin/curl-config /usr/bin/curl-config
7、再次編譯R-3.5.3,繼續報錯
很無語。