使用 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 应用程序部署 Qt - 如何不加载任何插件?
使用应用程序加载器将 Mac OS X 二进制文件上传到 itunesconnect?