8

からインストールするときにコンパイル時にRのCおよびC++フラグを設定できますかR CMD INSTALL(基本的に、この特定のケースではコンパイラの最適化をオフにしますが、理想的には一般的な解決策があります)?

私はあなたがを使用していくつかのオプションに影響を与えることができることを知っています--configure-args="..."、そして私はむしろ楽観的に試み--configure-args="diable-optimization"ましたが、役に立ちませんでした。同様に、編集することもできます$RHOME/etc/Makeconfが、これも私が探している種類のソリューションではありません(関連する書き込み権限がない場合は不可能です)。

何か違いがあれば、autoconfスクリプトとディレクトリMakevars内のファイルを使用してフラグを定義します。package/src

4

3 に答える 3

8

Dirk-非常に有益な議論(いつものように)そして間違いなく私を正しい方向に向けました。Makevars私の特定の問題については、引数をに渡さなければならなかったファイルに加えて、それが判明しましたconfigure。なぜこれが当てはまるのかわかりません(そして、周りを読むのが普通ではないようですので、どこかで何か間違ったことをしたかもしれません)が、他の誰かが同じ問題を抱えている場合は~/.R/Makevars、次の引数と組み合わせて使用​​しますconfigure/INSTALL私のために働いた。

R CMD INSTALL --configure-args="CFLAGS=-g CXXFLAGS=-g" package.tar.gz
于 2012-06-07T16:13:21.960 に答える
6

はい、そのためにファイルを使用します~/.R/Makevars。また、gccバージョンの切り替えCCCXXllvmへの切り替え、または...

于 2012-06-06T21:27:54.353 に答える
2

Makevarsファイルが非常に便利であることを確認できます(特に、「-L / my/libs」または「-I/my / include」、または他のビルドフラグを使用する必要がある場合)。

ビルドの場合、サイト/マシンのオプションを設定する場合は、Makeconfファイル(/ path / R / install / [lib64 / R /] etc / Makeconf)の変数を変更することもできます。

ただし、私のように、後でライブラリを管理および使用する際にまだ問題がある場合は、ldpathsファイルを使用してライブラリを設定することもできます[1]。このファイルには、Rが使用するR_LD_LIBRARY_PATHが含まれています。この変数は、UNIX[2]でよく知られているLD_LIBRARY_PATHと同等です。

このファイル(/ path / R / install / [lib64 / R /] etc / ldpaths)にいくつかのコンテンツ(MacOS / Darwinのコメントの直前)を追加しました:

if test -n "${LD_LIBRARY_PATH}"; then
  R_LD_LIBRARY_PATH="${LD_LIBRARY_PATH}:${R_LD_LIBRARY_PATH}"
fi
## This is DYLD_FALLBACK_LIBRARY_PATH on Darwin (OS X) and

次に、「環境モジュール」や「lmod」などを使用して、ライブラリを動的に管理できるようになります。

そのconfig/etcディレクトリ(Renviron、リポジトリ、javaconf、Rprofile.site ...)にあるすべてのファイルを使用して、他の多くの環境変数とR変数を変更できることに注意してください。

[1] https://support.rstudio.com/hc/en-us/community/posts/200645248-Setting-up-LD-LIBRARY-PATH-for-a-rsession

[2] http://www.tldp.org/HOWTO/Program-Library-HOWTO/shared-libraries.html

于 2017-01-20T15:20:06.887 に答える