2013-05-10 109 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