MySQL 5.5.8关于libmysqlclient.16.dyld的bug

1699阅读 1评论2011-03-01 kevinbin
分类:Mysql/postgreSQL

昨天在Mac上安装了MySQL 5.5,准备用sysbench做个测试时,发现sysbench无法运行。

$ sysbench
dyld: Library not loaded: libmysqlclient.16.dylib
  Referenced from: /usr/local/bin/sysbench
  Reason: image not found
Trace/BPT trap


原因是由于libmysqlclient.dylib的id路径是相对路径而不是绝对路径,这应该是MySQL打包的时出的问题。

$ otool -DX ./libmysqlclient.dylib
libmysqlclient.16.dylib


正常情况应该是下面这样:

$ otool -DX ./libmysqlclient.dylib /usr/local/mysql/lib/libmysqlclient.16.dylib


如何修复:

$ sudo install_name_tool -id \
/usr/local/mysql/lib/libmysqlclient.16.dylib \
/usr/local/mysql/lib/libmysqlclient.dylib


注:该bug出现在Mac上面,Linux和Windows上我未发现。当使用libmysqlclient编译一些相关工具时都会出现此问题。
此bug已被提交到
上一篇:【原创】解决Incorrect key file for table /tmp/xxx.MYI
下一篇:使用SQL批量删除数据库

文章评论