Настройте установку R в Ubuntu

Настройте установку R в Ubuntu

Как установить R в Ubuntu с флагами, отличными от флагов по умолчанию?

Например, для отладки я хотел бы построить 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.

Связанный контент