昨天在Mac上安裝了MySQL 5.5,準(zhǔn)備用sysbench做個(gè)測試時(shí),發(fā)現(xiàn)sysbench無法運(yùn)行。
$ sysbench
dyld: Library not loaded: libmysqlclient.16.dylib
Referenced from: /usr/local/bin/sysbench
Reason: image not found
Trace/BPT trap
|
原因是由于libmysqlclient.dylib的id路徑是相對路徑而不是絕對路徑,這應(yīng)該是MySQL打包的時(shí)出的問題。
$ otool -DX ./libmysqlclient.dylib
libmysqlclient.16.dylib
|
正常情況應(yīng)該是下面這樣:
$ otool -DX ./libmysqlclient.dylib /usr/local/mysql/lib/libmysqlclient.16.dylib
|
如何修復(fù):
$ sudo install_name_tool -id \
/usr/local/mysql/lib/libmysqlclient.16.dylib \
/usr/local/mysql/lib/libmysqlclient.dylib
|
注:該bug出現(xiàn)在Mac上面,Linux和Windows上我未發(fā)現(xiàn)。當(dāng)使用libmysqlclient編譯一些相關(guān)工具時(shí)都會(huì)出現(xiàn)此問題。 此bug已被提交到http://bugs.mysql.com/bug.php?id=59006
|