2013-05-10 112 views
9

我遇到一个问题,在OS X上安装软件包安装RMySQL包安装RMySQL似乎工作,但是当包加载测试,它总是失败:错误在OS X

 
* installing *source* package ‘RMySQL’ ... 
. 
.(omitted for brevity. see the gist linked below for the full installation log) 
. 
** testing if installed package can be loaded 
Error : .onLoad failed in loadNamespace() for 'RMySQL', details: 
    call: dyn.load(file, DLLpath = DLLpath, ...) 
    error: unable to load shared object '/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 
Error: loading failed 
Execution halted 
ERROR: loading failed 
* removing ‘/Library/Frameworks/R.framework/Versions/2.15/Resources/library/RMySQL’ 

全安装日志可以在这个gist找到。

这似乎与在32位与64位模式下运行R有关。我已经阅读并试图无济于事所有这些:

系统信息:

  • [R 2.15.2
  • OS X 10.8.3(Mountain Lio N)
  • MySQL的45年5月1日
  • 的XCode 3.2
+2

你有安装了MySQL。这不是抱怨缺少编译工具,所以我猜测你已经安装了XCode(并且没有告诉我们。) – 2013-05-10 17:46:22

+0

好问题。是的,我安装了MySQL和Xcode(我只是相应地更新了系统信息)。我也尝试从oracle下载最新版本的MySQL,并明确使用它的lib和include路径,按照以下说明操作:http://marc.info/?l=r-sig-db&m=125563172023273 – yoni 2013-05-10 18:39:02

回答

3

看看这个备忘录从西门Urbanek的R-SIG-MAC地址列表在2月:

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

“嗯,坚持下去 - 你在Mountain Lion上,你可能已经安装了32位默认的R,因为当时在支持的64位系统列表中省略了10.8 - 试着从 安装最新的R 2.15.3 RC http://r.research.att.com/

您还应该确保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

+0

我实际上使用了RMySQL构建建立在R 2.15和最新版本之下,并且具有相同的结果。但是,您的回答让我朝着正确的方向发展:迁移到R 3.0。非常感谢您的帮助。 :) – yoni 2013-05-10 21:12:27

+0

另一种解决方案,只是作为给定问题的追随者;-) http://stackoverflow.com/questions/24537257/installing-rmysql-in-mavericks – Tin 2014-07-20 16:48:20

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 lib复制到R lib目录。

你可以找到一个一步一步的指导herehere

+0

感谢您的解决方法,Lmwangi。有趣的是,你在R 3.0上遇到了同样的问题。对我来说,将R升级到3.0解决了这个问题,不需要复制任何库,因为32位和64位支持似乎是根本原因。 – yoni 2013-10-05 15:18:58