我使用的系統在/ usr/local/bin/gcc中有GCC 4.5(實驗),這對於某些R包已經證明是有問題的。我想在/ usr/bin/gcc中使用系統GCC。使用備用GCC構建R包
我已經嘗試在Bash配置文件(.bashrc,.bash_profile等)以及命令行中設置CC和CXX,但儘管Bash識別出這種變化,但R並沒有。
如何讓R在/ usr/bin中使用GCC版本而不是/ usr/local/bin /中的版本?
我使用的系統在/ usr/local/bin/gcc中有GCC 4.5(實驗),這對於某些R包已經證明是有問題的。我想在/ usr/bin/gcc中使用系統GCC。使用備用GCC構建R包
我已經嘗試在Bash配置文件(.bashrc,.bash_profile等)以及命令行中設置CC和CXX,但儘管Bash識別出這種變化,但R並沒有。
如何讓R在/ usr/bin中使用GCC版本而不是/ usr/local/bin /中的版本?
這沒有很好的記錄(例如,我沒有找到它在'R Extension'或'R Admin'中),但是Brian Ripley在名單上提到了它幾次。
基本上,在R編譯時,設置被註冊並存儲在$ RHOME/etc/Makeconf中。一種可能性是直接編輯該文件,但您可能沒有root權限,或者可能不想影響所有其他用戶。所以,更好的可能是創建
~/.R/Makevars
的條目
CC=gcc-4.4
CXX=g++-4.4
加上要設置爲準optmisation標誌等。這將影響您運行的所有後續使用R CMD INSTALL
或R CMD check
或......。
$ RHOME/etc /中的其他文件同樣可以在本地從~/.R/
覆蓋。
檢查您的路徑以查看/ usr/local/bin是否在/ usr/bin之前。如果是這樣,只要確保/ usr/bin先來就可以了:
PATH=/usr/bin:${PATH}
(如果/ usr/bin重複出現兩次沒關係)。
沒有工作: 出口PATH =的/ usr/bin中: $ {PATH} R CMD INSTALL ... 檢查gcc .../usr/local/bin/gcc -std = gnu99 – 2009-10-24 06:22:21
我有一個非常類似的問題。
對我來說有效的是定義一個項目目錄(rstudio可以爲你做),然後添加一個修改PATH和LD_LIBRARY_PATH的.Renviron
文件,以包含帶有新gcc的目錄。 在你的情況,例如,.Renviron
看起來像:
LD_LIBRARY_PATH=/usr/local/bin/gcc/lib:/usr/local/bin/gcc/lib64:/usr/local/bin/gcc/libexec:
其他路徑
PATH=/usr/local/bin/gcc/bin:/usr/local/bin:
其他路徑
使用我的配置,某些軟件包需要sudo,所以在這種情況下,有必要修改Makeconf。您的解決方案有效 – 2009-10-29 02:55:34
$ R_HOME是/ usr/lib64/R /用於CentOS6 – zakrapovic 2016-04-12 13:04:37
對於R軟件包(largeViz)的安裝,即使添加了CXX變量,我們也遇到了問題。除此之外,我們必須在Makevars文件中配置CXX11變量。像這樣CXX11 = g ++ 7 – user131476 2017-11-30 04:41:40