安装和运行 rcpp 时出错

2023-11-21

我对 R 还很陌生,所以对一个愚蠢的问题表示歉意。我正在尝试让 rcpp 运行,但我陷入了 R 的无限循环,要求我重新安装 RTools。

我大致遵循了以下代码这篇博文,虽然第一次休息时我手动安装了所有东西,随后我又重新安装了几次。我正在运行 Windows 7、R 版本 3.1.2、R Studio 版本 0.98.1091(这并不重要)和 RTools 3.1。

我的控制台的编辑亮点如下:

> library(installr) 
Welcome to installr version 0.15.3...

> install.Rtools()
Loading required package: devtools
No need to install Rtools - You've got the relevant version of Rtools installed

> find_rtools()
[1] TRUE

> library(Rcpp)
> evalCpp("1+1")

Error in sourceCpp(code = code, env = env, rebuild = rebuild, showOutput = showOutput,  :
Error 65535 occurred building shared library.

这时会弹出一个对话框,提示:

安装构建工具 为 R 编译 C/C++ 代码需要安装额外的构建工具。 您想现在安装附加工具吗?

然后我被指示再次从 cran 下载并重新安装 RTools 3.1。

我发现这可能是 PATH 变量的问题,但我尝试了各种方法,包括:

  1. PATH 变量中没有任何(额外的)内容
  2. 包括对 R (C:\Program Files\R\R-3.1.2\bin\x64) 和 RTools (C:\RBuildTools\3.1\bin;C:\RBuildTools\3.1\gcc-4.6.3\bin) 的引用;) 在路径中。先用 RTools 一次,先用 R 一次
  3. 按照初始安装文件的指示,在 PATH 中仅包含对 RTools 的引用。

任何有关尝试的想法将不胜感激!

EDIT

根据 Dirk 的评论,我似乎对 RTools 的安装方式有疑问。我已经按照几个博客/教程中关于如何安装 RTools 的说明进行操作;一切都无济于事(还!)

这个 GitHub 页面提供了一些有关如何安装和检查安装是否有效的说明。我已经遵循了所有检查(请参阅下面的控制台副本),看起来我已经安装了 RTools,但是当我尝试运行时evalCPP()我再次遇到与之前指导我安装 RTools 相同的错误。

> Sys.getenv('PATH')
[1] "C:\\Program Files\\R\\R-3.1.2\\bin\\x64;C:\\RTools\\bin;C:\\RTools\\gcc-4.6.3\\bin;C:\\WINDOWS\\system32;C:\\WINDOWS;C:\\WINDOWS\\System32\\Wbem;C:\\WINDOWS\\System32\\WindowsPowerShell\\v1.0\\;C:\\Program Files (x86)\\Enterprise Vault\\EVClient\\;C:\\Program Files (x86)\\Microsoft SQL Server\\100\\Tools\\Binn\\VSShell\\Common7\\IDE\\;C:\\Program Files (x86)\\Microsoft SQL Server\\100\\Tools\\Binn\\;C:\\Program Files\\Microsoft SQL Server\\100\\Tools\\Binn\\;C:\\Program Files (x86)\\Microsoft SQL Server\\100\\DTS\\Binn\\;C:\\Program Files (x86)\\Microsoft Visual Studio 9.0\\Common7\\IDE\\PrivateAssemblies\\;C:\\Program Files\\Microsoft SQL Server\\110\\Tools\\Binn\\;C:\\Program Files\\Microsoft\\Web Platform Installer\\;C:\\Program Files (x86)\\Microsoft SDKs\\TypeScript\\1.0\\;C:\\Program Files\\Microsoft SQL Server\\100\\DTS\\Binn\\"
Warning message:
printing of extremely long output is truncated

> system('g++ -v')
Using built-in specs.
COLLECT_GCC=C:\RTools\GCC-46~1.3\bin\G__~1.EXE
COLLECT_LTO_WRAPPER=c:/rtools/gcc-46~1.3/bin/../libexec/gcc/i686-w64-mingw32/4.6.3/lto-wrapper.exe
Target: i686-w64-mingw32
Configured with: /data/gannet/ripley/Sources/mingw-test3/src/gcc/configure --host=i686-w64-mingw32 --build=x86_64-linux-gnu --target=i686-w64-mingw32 --with-sysroot=/data/gannet/ripley/Sources/mingw-test3/mingw32mingw32/mingw32 --prefix=/data/gannet/ripley/Sources/mingw-test3/mingw32mingw32/mingw32 --with-gmp=/data/gannet/ripley/Sources/mingw-test3/mingw32mingw32/prereq_install --with-mpfr=/data/gannet/ripley/Sources/mingw-test3/mingw32mingw32/prereq_install --with-mpc=/data/gannet/ripley/Sources/mingw-test3/mingw32mingw32/prereq_install --disable-shared --enable-static --enable-targets=all --enable-languages=c,c++,fortran --enable-libgomp --enable-sjlj-exceptions --enable-fully-dynamic-string --disable-nls --disable-werror --enable-checking=release --disable-win32-registry --disable-rpath --disable-werror CFLAGS='-O2 -mtune=core2 -fomit-frame-pointer' LDFLAGS=
Thread model: win32
gcc version 4.6.3 20111208 (prerelease) (GCC) 

> system('where make')
C:\Rtools\bin\make.exe

我也看过R 安装和管理附录 D。我在这里看不到任何我还没有尝试过的东西,除了D.4 节这意味着我可能需要使用我安装的 RTools 从源代码重建 rcpp。我没有时间立即执行此操作,但会尝试一下,除非人们说这条路线不值得我花时间。

EDIT v2

所以我尝试从源代码构建 rcpp ...但这也不起作用。我从以下位置下载了包源代码和 Windows 二进制文件CRAN Rcpp 包页面。在 R 控制台中,我现在得到:

> install.packages(pkgs = "C:/Rcpp_0.11.4.tar.gz", repos = NULL, contriburl = NULL, type = "source", verbose = TRUE)
Installing package into ‘C:/Users/james.macadie/Documents/R/win-library/3.1’
(as ‘lib’ is unspecified)
system (cmd0): C:/PROGRA~1/R/R-31~1.2/bin/x64/R CMD INSTALL
Warning in install.packages :
  package ‘C:/Rcpp_0.11.4.tar.gz’ is not available (for R version 3.1.2)

我想我现在的活跃问题可以归结为:

  • 阅读上面的整篇文章,谁能告诉我如何解决问题,使其正常工作?或者,如果失败的话...
  • 我可以运行哪些测试来检查我是否确实正确安装了 Rtools?我在互联网上找到的所有内容都表明我这样做:system('where make')等等。但是,无法运行的证据evalCpp或其他 rccp 函数表明我不这样做。
  • 从源代码构建时我做错了什么?我应该尝试命令行选项吗?

EDIT v3

Running evalCpp with showOutput= TRUE and verbose = TRUE我想我已经将错误追溯到R CMD SHLIB不工作。我跟着这个博客,它展示了如何直接使用命令行 R。然而当我到达终点线时R CMD SHLIB sequence_examples.c执行只是直接跳到下一个命令行,不执行任何操作,在目录中生成任何文件或引发任何错误。我尝试运行--help命令行中的选项,但得到相同类型的错误:

C:\Users\james.macadie> R --help


Or: R CMD command args

where 'command' is one of:
  INSTALL  Install add-on packages
  REMOVE   Remove add-on packages
  SHLIB    Make a DLL for use with dynload
  BATCH    Run R in batch mode
  build    Build add-on packages
  check    Check add-on packages
  Rprof    Post process R profiling files
  Rdconv   Convert Rd format to various other formats
  Rdiff    difference R output files
  Rd2pdf   Convert Rd format to PDF
  Rd2txt   Convert Rd format to pretty text
  Stangle   Extract S/R code from vignette
  Sweave    Process vignette documentation
  config   Obtain configuration information about R
  open     Open a file via Windows file associations
  texify   Process a latex file

Use
  R CMD command --help
for usage information for each command.


C:\Users\james.macadie> R CMD SHLIB --help

C:\Users\james.macadie>

注意:对于阅读本文前面的早期代码示例的人们,自这些代码快照以来我已经更改了一些内容:

  • 我已将 R 直接安装到 C:\R 中。它曾经位于 C:\Program Files\R\ 中,但正如建议的那样,带有空格的文件路径可能会导致问题
  • 我引用的是 C:\Rtools\ 下的 Rtools,而不是 C:\RBuildTools\

一如既往,感谢您的任何建议


尝试安装 Twitter 的 BreakoutDetection(也是用 cpp 编写)时遇到同样的无限循环问题

通过执行以下命令修复

Sys.setenv(PATH="%PATH%;C:/Rtools/gcc-4.6.3/bin;c:/Rtools/bin")

然后在出现以下提示时回答“否”:

“安装构建工具为 R 编译 C/C++ 代码需要安装附加构建工具。您想立即安装附加工具吗?”

没有独立尝试这些操作,因此不确定自己是否可以解决问题

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

安装和运行 rcpp 时出错 的相关文章

  • R 用簇绘制热图,但隐藏树状图

    默认情况下 Rheatmap将聚集行和列 mtscaled as matrix scale mtcars heatmap mtscaled scale none 我可以禁用集群 heatmap mtscaled Colv NA Rowv N
  • 如何使用键盘命令中断 R 中正在运行的代码?

    如何中断 R 中正在运行的脚本 假设我遇到无限循环或其他问题 并且我想停止脚本运行 有键盘命令可以做到这一点吗 如果有帮助的话 在 Python 中是 Ctrl c 我在R中尝试过 但没有成功 自我回答 几乎是其他人的评论和答案的总结 In
  • 使用 kableExtra 增加行/行间距

    有没有办法在 r markdown 或 bookdown 中使用 kableExtra 增加 pdf 输出的行间距 library knitr library kableExtra kable head iris 5 caption Iri
  • 如何禁用“保存工作区图像?” R 中的提示?

    当我退出交互式 R shell 时 它每次都会显示一个烦人的提示 gt gt Save workspace image y n c n 我总是对此回答 不 因为如果我想保存我的工作 我就会这么做before试图退出 如何去掉这个提示呢 No
  • spplot 的图例范围和颜色分布问题

    我的绘图和图例中的颜色范围是否正确存在问题 这是我使用的代码 data ch4 lt read csv2 v42 CH4 1970 TOT txt skip 3 stringsAsFactors FALSE header F num dat
  • r - 根据第一个向量重新排序第二个向量

    寻找解决方案来执行以下操作 有两个向量 a lt c 2 1 3 4 7 6 5 9 8 10 b lt c 3 2 1 6 5 4 7 8 9 10 我想创建第三个向量 它给出向量的顺序b需要重新排序 使其顺序与a 在这种情况下我想得到
  • 使用不同的阈值替换多列中的值

    我有一个包含多个列的数据集 其中包含我想要转换为二进制的定量数据 为此 我想使用每列不同的阈值 Example Input antigen1 antigen2 antigen3 antigen4 1 215 421 2 12 2 1524
  • 从 glmnet 获取变量选择顺序

    我一直在使用 glmnet R 包为一个目标变量 Y 数字 和 762 个协变量构建 LASSO 回归模型 我使用 glmnet 函数 然后coef fit s 0 056360 获取该特定 lambda 值的系数值 我现在需要的是变量选择
  • 拆分并保存在新的 data.frames 中

    我有一个大 data frame 144 列 我想将其分成每组 3 列 子文件或子 data frame 然后将子 data frame 保存在单独的文件中 换句话说 file1 将包含从 1 到 3 的列 file2 将包含从 6 到 9
  • dplyr::mutate 添加多个值

    网上有几个与此相关的问题dplyr Github 存储库 https github com hadley dplyr已经 并且至少有一个相关的问题 但没有一个问题完全涵盖了我的问题 我认为 在 dplyr mutate 调用中添加多列 ht
  • 如果我有一个包含计数的表格,如何获得直方图/摘要统计数据? [复制]

    这个问题在这里已经有答案了 我习惯了像这样的观察向量c 1 1 1 3 4 我可以在上面看到汇总统计数据和绘制直方图等 但现在我发现自己拥有相同的数据 但采用如下压缩格式 value numObs 1 3 3 1 4 1 当数据以data
  • 列表列表中出现的频率

    我有一个列表列表 其中每个列表都已排序 我想调查的是某个元素在特定位置出现了多少次 例如 pnc 曾两次出现在第二位 一次出现在第三位 我的数据结构如下 dput degree l list c schwab 0 pnc 0 0344827
  • 在另一个函数中定义一个函数的优雅方式

    我想构建 f lt function g lt function x x 2 list 这样我就可以使用调用f g 4 并有list 导致list 16 一般来说我会在里面定义几个临时函数f用户在调用时可以调用f 我已经尝试过assign
  • 将儒略日期转换为 PosixCt 日期

    我发现自己在解决这个问题 我需要将 R 中的儒略日期转换为正常日期 YYYY MM DD 我知道我可以指定as Date julian date origin 但我不知道应该提供哪个来源 我的朱利安日期类似于 2458010 2458011
  • 如何解决在Windows中运行R时出现“剪贴板缓冲区已满且输出丢失”错误?

    我正在尝试将一些数据直接从 R 复制到我的 Windows 计算机中的剪贴板 我发现在一些网站上使用 file clipboard 可以工作 确实如此 但对于非常小的数据集 例如 如果我复制一个小数据集 100 个 obs 它会顺利工作 d
  • 重叠并固定小平面中的 x 尺度(尺度=“自由”)以制作电影

    在另一篇文章中 Justin 的帮助下 我用以下方法绘制了模拟结果facet gridggplot2 中的选项 包含数据和答案的帖子在这里 使用facet grid选项通过ggplot2绘制数据框的列 https stackoverflow
  • 使用 data() 的 R 包命名空间问题 -- 找不到数据集

    我在尝试在我自己的包中导入包 即 robfilter 时遇到了问题 我尝试使用它的方法之一 adore filter 在这一行失败 data critvals 出现错误 未找到数据集 critvals 如果我通过 require robfi
  • 删除ggplot2 geom_bar中没有数据的日期列[重复]

    这个问题在这里已经有答案了 我想隐藏 ggplot2 中没有数据的列 这是使用 nycflights13 库的可重现示例 library nycflights13 library dplyr library ggplot2 small da
  • Sweave + RweaveHTML:cat 输出未出现在输出中

    我对 Sweave RweaveHTML 有疑问 我希望 cat 的输出最终出现在正在生成的 html 文件中 我有一个案例 它没有 我不明白为什么 test function bla bla cat Result is 然后在 Rnw 文
  • R中不重复的组合

    我试图获取变量元素长度为 3 的所有可能组合 虽然它部分地与combn 一起工作 但我没有完全得到我正在寻找的输出 这是我的例子 x lt c a b c d e t combn c x x 3 我得到的输出看起来像这样 1 2 3 1 a

随机推荐

  • x86 汇编中的操作数大小冲突?

    我是一名新手程序员 第一次尝试汇编 如果这是一个非常蹩脚的问题 请提前抱歉 我在 EAX 寄存器中存储了一个字符 但我需要将其移至 DL 寄存器 当我尝试 mov dl eax 时 出现错误 C2443 操作数大小冲突 我知道 eax 寄存
  • Android NDK 工具链中的 LLVM 有什么用?

    Android NDK 工具链中的 LLVM 有什么用 稍微回顾一下 我正在 Ubuntu 上使用 Gradlew 构建我的本机项目 目标是 arm 和 x86 64 架构 看来LLVM用于调用C C 编译器ARM Linux Androi
  • 查看 C++ 中的编译器损坏名称

    如何查看 C 中重载函数的编译器生成的损坏名称 我正在使用 VC9 但也欢迎其他编译器的答案 Edit 我发现这里所有的答案都很有用 接受我最喜欢的那个 您可以使用以下命令查看修饰的函数名称依赖步行者 在依赖项遍历器中打开任何 DLL EX
  • 如何使用 MSTest 进行 RowTest?

    我知道 MSTest 不支持RowTest和类似的测试 What do MSTests用户做什么 没有了怎么可能活下去RowTest支持 我见过DataDriven测试功能 但听起来开销太大 是否有任何 3rd 方补丁或工具可以让我这样做R
  • 如何在 Python 中生成 Azure blob SAS URL?

    我正在尝试使用以下命令动态生成 blob SAS URLazure storage blob包裹 这个解决方案仅当您拥有现已弃用的azure storage包 无法再安装 我需要一种方法来模仿BlockBlobService generat
  • 使用 emaildata 0.3.4 使用 Python 3.6 读取 .eml 文件

    我正在使用 python 3 6 1 我想读取电子邮件文件 eml 进行处理 我正在使用电子邮件数据 0 3 4包 但是每当我尝试像文档中那样导入 Text 类时 我都会收到模块错误 import email from email text
  • Tomcat 7“严重:子容器在启动期间失败”

    基本上 我写了一个springMVC应用程序 对于 Spring 来说 我的方式是新手方法 该项目在 Tomcat 6 上运行良好 我的 Tomcat 服务器无法启动并引发以下异常 Apr 29 2012 3 41 00 PM org ap
  • 将 viewbag 与 jquery 一起使用 - asp.net mvc 3

    我在控制器中将 ViewBag IsLocal 设置为 true 我想使用 jquery 检查 ViewBag 值并显示警报 Code if ViewBag IsLocal true alert yeah 我从来没有收到警报 当我使用 Fi
  • Rails 中用户指定的动态模型字段

    有谁知道 gem 或允许用户向模型添加字段的良好实现 Ex 用户希望向联系人模型添加 内部注释 字段 在界面中 他们只需选择 新字段 gt 类型 文本 Thanks 抱歉 我不知道有任何插件可以做到这一点 但我有一个实施建议 这个想法是添加
  • 如何强制焦点编辑文本

    我阅读了有关如何设置要聚焦的对象的问题 但我似乎找不到我想要做的事情的答案 使用 On Focus Listener 我完成了以下操作 Ehour setOnFocusChangeListener new OnFocusChangeList
  • QML - 启动时主窗口位置(屏幕中心)

    我可以如何执行以下操作 我想在开始时在中央屏幕上显示我的主窗口 如果使用 QtQuick 可以这样做 import QtQuick 2 2 import QtQuick Controls 1 1 import QtQuick Window
  • 在Python中创建“反向”列表的最佳方法? [复制]

    这个问题在这里已经有答案了 在Python中 创建一个新列表的最佳方法是什么 该列表的项目与其他列表的项目相同 但顺序相反 我不想修改现有列表 这是我想到的一种解决方案 new list list reversed old list 复制也
  • 生成随机SQL Server 2008时间测试数据

    我正在尝试生成一个大型数据集 其中包括 SQL Server 2008 中的时间数据类型 我的表中已经有一些非时间数据 所以我想将整个过程保留在 T SQL 中并使用插入到 select 从一个表中获取部分数据 并将其与一些生成的数据 包括
  • 在 Android 启动器中托管小部件

    我正在为 android 制作一个启动器 但我被困在小部件部分 我在互联网上搜索了大约一个半小时 试图弄清楚如何在我的应用程序中托管小部件 但没有运气 我已经浏览了一些库存启动器和 ADW 启动器代码 但两者都只有数英里的代码 这是我第一次
  • 我无法安装回形针

    我是 Rails 新手 我需要安装 Peperclip https github com thoughtbot paperclip 但我不能 我已经查看了我能找到的所有教程 但我无法找到错误在哪里 我安装了 ImageMagick 并遵循
  • 增加字体真棒图标

    我在使用一些字体很棒的图标时遇到了一些麻烦 我正在尝试增加其中一些的大小 但由于某种原因 我似乎没有做任何事情 这是我的html div class span5 bookBuild div class well well small h4
  • 如何在 Javascript 中按 15 分钟间隔对 json 集合进行分组

    假设我们在 Javascript 中有一个这样的集合 date Fri 02 May 2014 19 05 00 GMT value abc date Fri 02 May 2014 23 43 00 GMT value jkl date
  • 显示自 master 的原始分支点以来 git 分支中的所有提交

    我正在寻找一种方法来查看自分支点 并包括它 以来活动分支上的所有提交 并希望自主分支以来 例如这样的情况 A B C D master E F branch A 我想要获得提交 F E 和 B 而 F 是 HEAD And for A B
  • Google Apps 脚本电子表格评论自动化

    今天我有一个关于 Google Apps 脚本的问题 特别是电子表格 我已经看过文档了here 是的 有关a的文档Sheet在电子表格中 但我一直无法找到我要找的东西 这是西奇 1 当在 Google 电子表格中编辑单元格时 我的函数会设置
  • 安装和运行 rcpp 时出错

    我对 R 还很陌生 所以对一个愚蠢的问题表示歉意 我正在尝试让 rcpp 运行 但我陷入了 R 的无限循环 要求我重新安装 RTools 我大致遵循了以下代码这篇博文 虽然第一次休息时我手动安装了所有东西 随后我又重新安装了几次 我正在运行