デフォルト以外のフラグを使用して Ubuntu に R をインストールするにはどうすればよいですか?
例えば、デバッグのために、Rをビルドしたいのですが、
-fsanitize=address
オプション。どうすればいいですか?
答え1
CFLAGS
configureスクリプトを実行する前に適切な環境変数を設定するだけで十分なようです。例:
CFLAGS="-fsanitize=address" ./configure --prefix=/usr/local
構成の概要を確認する
R is now configured for x86_64-pc-linux-gnu
Source directory: .
Installation directory: /usr/local
C compiler: gcc -std=gnu99 -fsanitize=address
Fortran 77 compiler: gfortran -g -O2
C++ compiler: g++ -g -O2
C++ 11 compiler: g++ -std=c++11 -g -O2
Fortran 90/95 compiler: gfortran -g -O2
Obj-C compiler: gcc -g -O2 -fobjc-exceptions
Interfaces supported: X11, tcltk
External libraries: readline, zlib, bzlib, lzma, PCRE
Additional capabilities: PNG, JPEG, TIFF, NLS, cairo, ICU
Options enabled: shared BLAS, R profiling
Capabilities skipped:
Options not enabled: memory profiling
Recommended packages: yes
configure: WARNING: neither inconsolata.sty nor zi4.sty found: PDF vignettes and package manuals will not be rendered optimally
追加のフラグは、gcc
後続のコマンドで表示されますmake
。例:
gcc -std=gnu99 -I. -I../../src/include -I../../src/include -I/usr/local/include -DHAVE_CONFIG_H -fopenmp -fsanitize=address -c integrate.c -o integrate.o
他のコンパイラ(C++やFortranコンパイラなど)にフラグを渡す場合は、同等のフラグも設定する必要があるかもしれませんCXXFLAGS
。FCFLAGS
完全なリストについては、以下を実行してください。
./configure --help | less
というタイトルのセクションを見てくださいSome influential environment variables
。