簡體   English   中英

OSX dyld:懶惰的符號綁定失敗:找不到符號:_mysql_get_client_info

[英]OSX dyld: lazy symbol binding failed: Symbol not found: _mysql_get_client_info

我安裝了mysql(5.6.27),這是當前最新的mysql版本(5.7 ..)。

我安裝了mysql2 gem-版本0.3.14

當我嘗試運行rake db:create出現錯誤消息:

Karliss-Air:gostyling myuser$ rake db:create
dyld: lazy symbol binding failed: Symbol not found: _mysql_get_client_info
  Referenced from: /Users/myuser/.rvm/gems/ruby-2.1.2/extensions/x86_64-darwin-13/2.1.0-static/mysql2-0.3.14/mysql2/mysql2.bundle
  Expected in: flat namespace

dyld: Symbol not found: _mysql_get_client_info
  Referenced from: /Users/myuser/.rvm/gems/ruby-2.1.2/extensions/x86_64-darwin-13/2.1.0-static/mysql2-0.3.14/mysql2/mysql2.bundle
  Expected in: flat namespace

但是更奇怪的是,當我運行nm -gU它表明dylib在其中:

Karliss-Air:gostyling myuser$ nm -gU /usr/local/lib/libmysqlclient.18.dylib | grep _mysql_get_client_info
0000000000002ff5 T _mysql_get_client_info
Karliss-Air:gostyling myuser$ 

安裝gem時,我嘗試定義mysql路徑

gem pristine mysql2 -v '0.3.14' -- --with-mysql-dir=/usr/local/Cellar/mysql56/5.6.27 -–with-mysql-config=/usr/local/Cellar/mysql56/5.6.27/bin/mysql_config

它沒有幫助。

我真的很樂意提供幫助!

如果您使用的是rvm /不帶rvm(只需使用sudo),則請使用以下命令解決問題。

rvmsudo ARCHFLAGS="-arch x86_64" gem install mysql2 -- --with-mysql-config=/usr/local/mysql/bin/mysql_config --with-opt-lib=/usr/local/mysql/lib 

否則,嘗試卸載mysql2 gem,然后使用sudo安裝gem有時會解決。

sudo gem uninstall mysql2

sudo gem install mysql2

或者看一下: 創建Ruby數據庫時,懶惰符號綁定失敗

通過重新安裝Macbook解決了該問題。 我認為問題是我先安裝了mysql5.7,然后嘗試使用mysql56。 重新安裝后,我立即安裝了mysql56,一切正常。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM