在OS X上安装RMySQL时出现错误

9

我在OS X上安装RMySQL包时遇到了问题。似乎包的安装可以进行,但是在测试包加载时,它总是失败:

* 安装 *源* 包 ‘RMySQL’ ...
. 
.(为了简洁起见省略。请参阅下面链接的要点以获取完整的安装日志)
.
** 测试已安装的包是否可以加载
错误:.onLoad 在 loadNamespace() 中为 'RMySQL' 失败,详细信息:
  调用: dyn.load(file, DLLpath = DLLpath, ...)
  错误: 无法加载共享对象 '/Library/Frameworks/R.framework/Versions/2.15/Resources/library/RMySQL/libs/i386/RMySQL.so':
  dlopen(/Library/Frameworks/R.framework/Versions/2.15/Resources/library/RMySQL/libs/i386/RMySQL.so, 6): Symbol not found: _mysql_affected_rows
  Referenced from: /Library/Frameworks/R.framework/Versions/2.15/Resources/library/RMySQL/libs/i386/RMySQL.so
  Expected in: flat namespace
 in /Library/Frameworks/R.framework/Versions/2.15/Resources/library/RMySQL/libs/i386/RMySQL.so
错误: 加载失败
执行中断
错误:加载失败
* 删除 ‘/Library/Frameworks/R.framework/Versions/2.15/Resources/library/RMySQL’

完整的安装日志可以在此gist找到。

这似乎与在32位和64位模式下运行R有关。我已经阅读并尝试了以下所有内容,但都无济于事:

系统信息:

  • R 2.15.2
  • OS X 10.8.3 (Mountain Lion)
  • MySQL 5.1.45
  • XCode 3.2

2
你安装了MySQL吗?它没有抱怨缺少编译工具,所以我猜你已经安装了XCode(只是没有告诉我们)。 - IRTFM
很好的问题。是的,我已经安装了MySQL和Xcode(我刚刚相应地更新了系统信息)。我还尝试从Oracle下载最新版本的MySQL,并明确使用其lib和include路径,按照这里的说明进行操作:http://marc.info/?l=r-sig-db&m=125563172023273 - yoni
2个回答

3

我刚刚找到了解决这个问题的方法。我的R版本是

>  R.version          _
platform       x86_64-apple-darwin12.4.0
arch           x86_64
os             darwin12.4.0
system         x86_64, darwin12.4.0
status
major          3
minor          0.1
year           2013
month          05
day            16
svn rev        62743
language       R
version.string R version 3.0.1 (2013-05-16)
nickname       Good Sport

我只需要将libmysqlclient库复制到R lib目录即可。您可以在这里这里找到一份逐步指南。

感谢您的解决方法,Lmwangi。很有趣的是,您在R 3.0上遇到了同样的问题。对我来说,将R升级到3.0版本就解决了这个问题,无需复制任何库,因为似乎32位和64位支持是根本原因。 - yoni

3

看看Simon Urbanek在二月份的R-sig-Mac列表上发布的备忘录:

https://stat.ethz.ch/pipermail/r-sig-mac/2013-February/009967.html

“啊,等一下——你使用的是Mountain Lion操作系统,并且你可能安装了32位的R,默认情况下10.8被省略在支持64位系统的列表之外——试试从http://r.research.att.com/安装最新的R 2.15.3 RC版本。”

你还应该确保RMySQL版本适用于2.15版本,因为CRAN现在提供的版本需要运行R 3.0.0。实际上,这不应该是问题,因为RMySQL_0.9-3在UCB CRAN镜像的2.15二进制树干中: http://cran.cnr.berkeley.edu/bin/macosx/leopard/contrib/2.15/RMySQL_0.9-3.tgz


我实际上使用了在R 2.15和最新版本下构建的RMySQL版本,但结果相同。然而,你的回答让我朝着正确的方向迈进:迁移到R 3.0。非常感谢你的帮助。 :) - yoni
作为给定问题的另一种解决方案和跟随者,以下是一个链接:https://dev59.com/QIHba4cB1Zd3GeqPNiu6 - Tin

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接