使用 Mac OS X 加载 rgl 包时出错

Posted

技术标签:

【中文标题】使用 Mac OS X 加载 rgl 包时出错【英文标题】:Error in loading rgl package with Mac OS X 【发布时间】:2012-04-10 08:15:42 【问题描述】:

我正在尝试在 Mac OS X (Lion 10.7.3) 下为 R (2.14.2) 安装 rgl 包 (0.92.858)。当我尝试加载它 (library(rgl)) 时,我收到以下错误:

  Error : .onLoad failed in loadNamespace() for 'rgl', details:
  call: dyn.load(file, DLLpath = DLLpath, ...)
  error: unable to load shared object '/Library/Frameworks/R.framework/Versions/2.14/Resources/library/rgl/libs/x86_64/aglrgl.so':
  dlopen(/Library/Frameworks/R.framework/Versions/2.14/Resources/library/rgl/libs/x86_64/aglrgl.so, 6): Symbol not found: __ZN3gui13OSXGUIFactory12hasEventLoopEv
  Referenced from: /Library/Frameworks/R.framework/Versions/2.14/Resources/library/rgl/libs/x86_64/aglrgl.so
  Expected in: dynamic lookup

我有一台带有挪威语键盘的 Mac。也许这与问题有关?但是,即使我将语言更改为美国,我也会遇到同样的错误。有没有人遇到过类似的问题?有什么办法解决吗?

【问题讨论】:

您是如何尝试安装 rgl 的? ...使用的代码? ...repo?,...源代码还是二进制文件? OOOOPPS。我刚刚更新到那个版本(作为来自cran.fhcrc.org 的二进制文件),而早期版本今天早上运行没有问题。重启后我得到同样的错误。 嗯,很高兴听到这不是一个独特的问题。也许我们会为此找到解决方案。我安装了代码(install.packages(“rgl”))。另一种理论是,可能是 X11 导致了这些问题。但是,它似乎可以正常工作。 有趣。 rgl 0.92.858 来自 CRAN 的 R 2.14.2; universal-apple-darwin9.8.0 对我来说很好。我不认为你的键盘有问题。 我看到一些人遇到类似的错误,并且在安装依赖项后从源代码安装似乎可以解决问题。 【参考方案1】:

我在 OSX 10.9.2 上使用 rgl 0.93.996 时遇到了这个问题,但在重新安装几次后,我看到“正在安装 rgl - 错误:未找到但需要 X11,配置已中止”

快速搜索将我带到这里https://stat.ethz.ch/pipermail/r-sig-mac/2012-March/009077.html

然后我终于能够通过下载 XQuartz https://www.xquartz.org 让它工作了所以我的问题是 X11。

【讨论】:

【参考方案2】:

它需要从源代码构建,因为如果使用内置源代码安装,libpng.dylib 路径的路径会出现问题。流程是:

1) 从http://download.r-forge.r-project.org/src/contrib/rgl_0.92.879.tar.gz下载源文件 - 您需要从这里下载源文件,因为您必须手动安装程序。

2) 将文件解压缩到方便的位置。您可以通过双击 .tar 文件来完成此操作

3) 打开终端并导航到您放置文件的目录。我把它们放在我的桌面上,所以命令是:

cd ~/Desktop

4) 在终端运行

R CMD INSTALL --with-libpng-prefix=/usr/X11/lib/ rgl

然后您可以删除您下载的所有文件。请注意,我正在运行带有 R 2.15.0 的 Mac OS X 10.7.3。如果您使用不同的版本,具体路径可能会略有不同。安装后不需要rgl文件夹或文件,可以删除。

【讨论】:

尝试此操作后,我在 Max OS X 10.6.8 上的 R 2.15.0 上仍然遇到相同/类似的问题:checking for glEnd in -lGL... no configure: error: missing required library GL ERROR: configuration failed for package ‘rgl’ @statuser:如果您认为二进制安装或更高版本的默认源安装有问题,请联系维护人员详细说明。 更新后的网址为:download.r-forge.r-project.org/src/contrib。搜索 rgl,因为文件是按大小写排序的! 请修复tar.gz的链接:它正在写not found【参考方案3】:

我仍然在使用特殊标志或 cmets 和上述内容中的任何其他建议从源代码安装时遇到问题。我在 64 位 MacBook Pro 和 R 2.15.0 上使用 Mac OS X 10.7.3

在加载rgl 包时,我继续得到以下信息: error: unable to load shared object '/Library/Frameworks/R.framework/Versions/2.14/Resources/library/rgl/libs/x86_64/aglrgl.so'

我尝试了以下次优解决方案:删除aglrgl.so 文件。然后尝试再次加载包。 (这是我从post by Duncan Murdoch 那里得到的建议 )

删除此文件的快速方法是在终端中键入以下内容: open -a Finder /Library/Frameworks/R.framework/Versions/2.15/Resources/library/rgl/libs/x86_64/

在弹出的新Finder窗口中,删除aglrgl.so文件,然后关闭窗口。打开 R-GUI,尝试加载 rgl: library("rgl")。它应该可以正常工作,但不幸的是,将X11 用于 3D 图形而不是原生 Quartz 窗口。对我来说,这总比没有好。

【讨论】:

Mmh..似乎这个问题时不时地再次出现。我目前无法访问 mac,因此无法检查新版本的 rgl 是否可以使用。除了您建议降级 R 版本或使用外部 X11 的解决方案之外,某些 mac 用户(至少我所听到的)也有效。我将取消勾选“接受的问题”。如果你能找到这个问题的最终解决方案,请告诉我,我可以接受这个答案。 我不在 R-Forge 上,但可能有人应该发布一个错误 at the rgl development page。这个构建问题似乎与 linux 机器上一个单独的未解决的构建问题不同,同样是 listed on their bug report page。 在 R 3.0.1 和 rgl_0.93.940 上弹出相同的错误,但在我搜索它时没有要删除的 aglrgl.so【参考方案4】:

问题现在记录在 R-forge 上: http://r-forge.r-project.org/tracker/index.php?func=detail&aid=1996&group_id=234&atid=946

您基本上必须删除被指控的文件 aglrgl.so。 R 在显示的错误消息中为您提供文件的路径。

【讨论】:

重要的是要注意这个问题早在 2013 年就在 rgl 上得到了修复(修复的版本号?)【参考方案5】:

rgl 0.92.861 的新 Mac 二进制版本在 2.14.2 上安装无错误并运行示例代码。

【讨论】:

rgl (0.92.861) 似乎也可以在 R 2.15.0 下工作。因此,如果您遇到此问题,只需更新您的 R。【参考方案6】:

在我的情况下(OS X Yosemite)好的解决方案,首先下载http://cran.r-project.org/src/contrib/rgl_0.95.1247.tar.gz中的RGL源(不是二进制文件),解压它,然后使用以下命令构建库:R CMD INSTALL --disable-cocoa --x-includes=/usr/X11/ rgl 它就像一个魅力。

【讨论】:

以上是关于使用 Mac OS X 加载 rgl 包时出错的主要内容,如果未能解决你的问题,请参考以下文章

使用 PhoneGap/Cordova 为 Android 构建时,在 Mac OS X 10.9 Mavericks 上执行命令“ant”时出错

在 mac os x 上安装 MEAN 时出错

使用 Mac OS X 应用程序部署 Qt - 如何不加载任何插件?

使用应用程序加载器将 Mac OS X 二进制文件上传到 itunesconnect?

在 Mac OS X Lion 上安装 pymssql 时出错

XAMPP、Mac OS X 和链接文件