C compilation flags from R

前端 未结 3 572
别跟我提以往
别跟我提以往 2021-01-05 02:54

Can you set R\'s C and C++ flags at compilation time when installing from R CMD INSTALL (essentially, in this particular case I want to turn off compiler optimi

3条回答
  •  攒了一身酷
    2021-01-05 03:10

    I can confirm that the Makevars file is very useful (specially if you need to use "-L/my/libs" or "-I/my/includes", or others build flags).

    For the build, if you want to set an option for the site/machine, you can also change variables in the Makeconf file (/path/R/install/[lib64/R/]etc/Makeconf).

    However, if like me, you still have some problems to manage and use libraries later, you can also set libraries with the ldpaths file [1]. This file contains the R_LD_LIBRARY_PATH used by R. This variable is the equivalent of the well known LD_LIBRARY_PATH on unix [2].

    I just added some content (just before the comment on MacOS / Darwin) to this file (/path/R/install/[lib64/R/]etc/ldpaths):

    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
    

    Then, you will be able to manage your libraries dynamically e.g. using "environment modules" or "lmod".

    Note that you can change many other environment and R variables with all the file which are in that config/etc directory (Renviron, repositories, javaconf, Rprofile.site ...).

    [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

提交回复
热议问题