質問

私が使用しているシステムのGCC 4.5(実験的)は/ usr / local / bin / gccにあり、一部のRパッケージでは問題があることが判明しています。代わりに/ usr / bin / gccのシステムGCCを使用したいです。

Bash構成ファイル(.bashrc、.bash_profileなど)およびコマンドラインでCCとCXXを設定しようとしましたが、Bashは変更を認識しますが、Rは認識しません。

どうすれば/ usr / local / bin /の代わりに/ usr / binのGCCのバージョンをRに使用させることができますか?

役に立ちましたか?

解決

これはそれほどよく文書化されていません(たとえば、「R Extension」または「R Admin」のいずれかで現在見つけられませんでした)が、Brian Ripleyはリストで数回言及しました。

基本的に、Rのコンパイル時に設定が登録され、 $ R_HOME / etc / Makeconf に保存されます。その可能性の1つは、そのファイルを直接編集することですが、ルート特権がないか、他のすべてのユーザーに影響を与えたくない場合があります。したがって、作成する方が良いかもしれません

~/.R/Makevars

エントリ付き

CC=gcc-4.4
CXX=g++-4.4

プラス設定する最適化フラグなど。これは、実行する R CMD INSTALL または R CMD check の以降のすべての使用に影響します。

$ R_HOME / etc / 内の他のファイルは、〜/ .R / から同様にローカルで上書きできます。

他のヒント

よく似た問題がありました。

私のために働いたのは、プロジェクトディレクトリを定義することでした(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: その他のパス

パスをチェックして、/ usr / local / binが/ usr / binの前に来るかどうかを確認します。存在する場合は、/ usr / binが最初に来るようにしてください:

PATH=/usr/bin:${PATH}

(/ usr / binが重複していても問題ありません)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top