【问题标题】:R package RGL fails to install on a Mac with MRANR 包 RGL 无法在带有 MRAN 的 Mac 上安装
【发布时间】:2017-08-16 18:09:52
【问题描述】:

我正在尝试安装 rgl,因为另一个包需要它的某些元素。我在 Mac 上运行了 XQuartz,因为我使用的是 MRAN R。安装(从 Rstudio 中的 CRAN,从 Rstudio 中的 shell 和其他来源)失败并出现以下错误。

    clang-omp++ -fopenmp -I/Library/Frameworks/R.framework/Resources/include -DNDEBUG -I/System/Library/Frameworks/OpenGL.framework/Headers  -DHAVE_PNG_H -I/Users/gcn/anaconda/include/libpng16 -I/usr/X11/include -DDarwin -DNO_GL_PREFIX -I/opt/X11/include -DHAVE_FREETYPE -Iext/ftgl -I/opt/X11/include/freetype2 -Iext  -I/Users/Shared/Jenkins/workspace/External-R-3.3.3/vendor/build/include -DU_STATIC_IMPLEMENTATION -Wall -mtune=core2 -g -O2 -I/opt/X11/include   -fPIC  -g -O3 -Wall -pedantic -mtune=native -std=c++11 -c platform.cpp -o platform.o
platform.cpp:38:18: error: no member named 'x' in '_GLKVector3'
      *winX = result.x;
              ~~~~~~ ^
    platform.cpp:39:18: error: no member named 'y' in '_GLKVector3'
      *winY = result.y;
              ~~~~~~ ^
    platform.cpp:40:18: error: no member named 'z' in '_GLKVector3'
      *winZ = result.z;
              ~~~~~~ ^
    platform.cpp:64:18: error: no member named 'x' in '_GLKVector3'
      *objX = result.x;
              ~~~~~~ ^
    platform.cpp:65:18: error: no member named 'y' in '_GLKVector3'
      *objY = result.y;
              ~~~~~~ ^
    platform.cpp:66:18: error: no member named 'z' in '_GLKVector3'
      *objZ = result.z;

我还有一个版本的 Rstudio 在 AWS 上的 ubuntu 实例中运行,安装时我没有收到这些错误。 ubuntu 不使用 MRAN,所以我想这可能是 mac 上问题的根源,但微软的这个页面 - https://mran.microsoft.com/web/checks/check_results_rgl.html 似乎暗示 rgl 确实在 mac 上与 MRAN 一起运行。

【问题讨论】:

  • 您可以将错误发布到 MRAN 的 Github 页面,或者只使用 CRAN 的 R。我听说(但没有亲自证实)MRAN 对 C++ 的处理不正确,而且很多使用 C++ 的包都存在问题。
  • 几周前我在 MRAN 社区网站上发布了一个查询,昨天更新了它。没有回应。我找不到 MRAN 的 GitHub 页面。我使用 MRAN 已经有一段时间了,没有遇到任何 MRAN 特有的问题,至少我可以记录下来。
  • 我想到的 Github 页面是 github.com/Microsoft/microsoft-r-open,不完全是 MRAN。
  • “医生,医生,我这样做会很痛……” -- 那为什么不从 CRAN 安装 rgl 呢?
  • CRAN 上的版本失败(或者至少我上次尝试时失败了)。我能够按照以下步骤成功安装。

标签: r rgl


【解决方案1】:

您似乎让编译器定义了__STRICT_ANSI__ 集。通常 rgl 不会设置它。 R-forge (0.98.13) 上最新版本的 rgl 已在您看到错误的 platform.cpp 文件中修复了此问题,但可能还有其他地方出现问题。

您可以在 R-forge 上获得最新版本。它在 CRAN(或 MRAN)上不可用。

【讨论】:

  • 这是我使用的过程。从https://r-forge.r-project.org/R/?group_id=234 下载rgl_0.98.13.tar.gz 并将其放在我的项目目录的根目录下。然后运行install.packages("rgl_0.98.13.tar.gz", repos=NULL)。似乎奏效了。谢谢!
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2021-06-26
  • 1970-01-01
  • 2015-12-21
  • 2016-03-19
  • 2022-10-07
  • 1970-01-01
  • 2012-02-14
相关资源
最近更新 更多