【问题标题】:Change the R default C/C++ compiler in Kubuntu Linux更改 Kubuntu Linux 中的 R 默认 C/C++ 编译器
【发布时间】:2014-07-19 06:42:05
【问题描述】:

如果安装了需要编译的 R 包

R CMD INSTALL package.tar.gz

在 bash 中,R 默认使用 gcc 编译器。现在发生了,我的 R-package 使用“clang”编译器设置在 Cran 上抛出警告,使用 gcc 编译器时不会出现。

为了在我的本地机器上重现警告,我想将本地编译器设置调整为 Cran-check 服务器上使用的设置。

我发现应该可以通过在主文件夹中的某处创建 Makevars.in 文件来更改 R 默认编译器,但我找不到它必须位于的位置以及必须在那里写入的内容才能使 R 使用启用了某些警告标志的“clang”而不是“gcc”。

有没有人已经打开他/她的 Linux 系统 R 默认编译器从 gcc 到 clang 并且可以给我一个提示如何做到这一点?

【问题讨论】:

    标签: linux r gcc clang


    【解决方案1】:

    我最喜欢的方法(我想我之前在这里详细介绍过)是使用我设置的文件~/.R/Makevars

    CFLAGS +=             -O3 -Wall -pipe -pedantic -std=gnu99
    CXXFLAGS +=           -O3 -Wall -pipe -Wno-unused -pedantic 
    
    #VER=-4.6
    #VER=-4.7
    VER=-4.8
    CC=ccache gcc$(VER)
    CXX=ccache g++$(VER)
    SHLIB_CXXLD=g++$(VER)
    FC=ccache gfortran
    F77=ccache gfortran
    MAKE=make -j8
    
    #CXX=clang++
    #CC=clang
    

    还有更多,因为它还允许您切换到 clang++ 而不是 g++ 等等。

    我在这里也使用 ccache 以加速重复构建 -- 非常有用 对于 R 包,您可以更改包代码但不能更改 src/ 文件。

    另一种方法是使用 shell 脚本包装器,您可以在其中设置 CCCXX 以及您要修改的所有其他内容。

    【讨论】:

    • 非常感谢,Dirk,这很快!这解决了这个问题 - 很抱歉我没有找到你之前的答案。
    • 没关系——我也可能在其中一个邮件列表上给出了答案。顺便说一下,R​​-SIG-Debian 列表对于 Debian 和 Ubuntu 问题非常有用,而且体积非常小。
    猜你喜欢
    • 2011-02-26
    • 1970-01-01
    • 2016-01-17
    • 2011-05-12
    • 2013-01-24
    • 2023-04-08
    • 2011-12-11
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多