기본 플래그가 아닌 플래그를 사용하여 우분투에 R을 어떻게 설치할 수 있습니까?
예를 들어, 디버깅을 위해 다음을 사용하여 R을 빌드하고 싶습니다.
-fsanitize=address
옵션. 그렇게하는 방법?
답변1
CFLAGS
구성 스크립트를 실행하기 전에 적절한 환경 변수를 설정하는 것으로 충분해 보입니다 . 예:
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
.