【问题标题】:Getting g++ error when installing R code from source从源代码安装 R 代码时出现 g++ 错误
【发布时间】:2013-08-07 21:39:24
【问题描述】:

我从 CRAN 下载了 Rcpp 并将其解压缩并尝试构建它。当我尝试使用 R CMD INSTALL 时。在我得到的目录中:

cp: unknown option -- )

如果我尝试打开一个会话并使用 install.packages("Rcpp", type = "source"),我会从g++ 收到以下错误:

*** arch - x64
g++ -m64 -I"C:/R/R-30~1.1/include" -DNDEBUG -I../inst/include/    -I"d:/RCompile/CRANpkg/extralibs64/local/include"     -O2 -Wall  -mtune=core2 -c Date.cpp -o Date.o
Date.cpp:1:0: sorry, unimplemented: 64-bit mode not compiled in
make: *** [Date.o] Error 1

我安装了 Rtools,它的目录在我的路径前面。我使用的是 64 位 Windows 7。是否有我缺少的安装选项?我一直在阅读 R 的安装和管理手册的附录 D,找不到我可能违反的任何内容,所有内容都是通过 Rtools 安装的。我觉得有一个我没有包括的标志,但我不知道是什么。

【问题讨论】:

  • 我认为它仍然是您在之前问题中的设置——CRAN winbuilder 很乐意从源代码构建 Rcpp。
  • 我在使用 Rtools 以及 R3.01 和 R2.15 时遇到了同样的问题。令人沮丧。我尝试编译它,因为 Python 似乎不喜欢原始的 dll - 所以它们应该使用与 Python 编译器相同的编译器进行编译 - 不走运。像你一样的 Windows 7 64 位。
  • @Trevor 看到我的回答,我不知道其中哪一个解决了问题,但我会列出我所做的事情。

标签: r rcpp


【解决方案1】:

当我按照连续顺序执行以下操作(我不确定是哪一个修复了它)后,这个问题就开始起作用了:

-把我的咖啡杯扔到墙上,诅咒德克·埃德尔布特尔

- 将 R 路径变量从 C:R\R-3.0.1\bin 更改为 C:\R\R-3.0.1\bin\x64\

-重新安装了Rtools,这次勾选了允许它更改系统路径的框,我之前一直在更改我的用户路径

-向 Dirk Eddelbuettel 的灵魂请求宽恕

-重启 Rstudio

成功了。我认为这是因为我没有考虑系统路径,它首先在 Windows 中读取,所以它运行到了一个 Haskell g++ 编译器,它在所有东西的前面,只有 32 位。

【讨论】:

  • 谢谢你,迈克!这让我非常痛苦。改变路径变量就行了。
  • 我使用了错误的 gcc 版本。在来自 Rtools (4.6.3) 的 gcc 之前,我在我的 PATH 设置中有来自 MinGW (4.5.something) 的那个。一旦我删除了 MinGW 附带的版本,编译过程就很好了。
  • @Mike Flynn 您会详细说明“更改的 R 路径变量”吗?我尝试更改 PATH 变量,但没有帮助。
  • 你做了什么改变?我认为我的不同之处在于切换到 bin/x64/ 中的 R 可执行文件的 64 位版本,而不是 bin/中的标准。
  • 你请求原谅 Dirk Eddelbuettel 的哪个版本?
【解决方案2】:

平台:Windows 7 64 位

R 版本:3.1.2

Rtools:Rtools32 windows 二进制文件

至少在我的 windows 机器上,安装 Rtools 不会将相关值添加到 PATH 环境变量中。要手动设置 PATH 环境变量的相关值,请执行以下操作:

(点击“Windows图标-->右击“计算机”-->选择“属性”-->点击“高级系统设置”-->点击“环境变量”-->选择“PATH”并点击“编辑”--> 将以下内容添加到 PATH 变量中)

C:\Program Files\R\R-3.1.2\bin\x64;C:\Rtools\bin;C:\Rtools\gcc-4.6.3\bin;

  1. 确保路径值之间没有空格
  2. 未能指定 gcc 目录(如在 C:\Rtools\gcc-4.6.3\bin; 中)会吐出错误“g++ not found”

【讨论】:

    【解决方案3】:

    我的包安装在 RStudio 中失败,因为它找不到 g++.exe。我已将 RTools 安装在与我的 Windows 7(64 位)系统文件 (C:) 不同的驱动器 (D:) 上。即使我的环境变量被正确设置为指向 D,它仍然在 C 中寻找 RTools 可执行文件。我认为 RStudio 被硬编码以查看 [System] 是 C。我考虑将它移动到 D,但它出现了比它的价值更麻烦(微软表示它将阻止未来的升级)。我最终在 C 盘上重新安装了 RTools,它解决了问题。

    【讨论】:

      【解决方案4】:

      我知道我迟到了,但我刚刚遇到了这个错误。另一个原因是您正在尝试安装包存档的 macOS 二进制文件。您可能需要找到源存档或 Windows 二进制文件。

      【讨论】:

        猜你喜欢
        • 2021-08-26
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2016-02-24
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多