My Blog List

Tuesday, July 17, 2012

libmysqlclient_r.so.16: cannot open shared object file

转载1

http://www.xieyanfu.com/?p=153

前端时间把系统升级成 ubuntu 12.04,今天在执行之前写的一个 Python 爬虫程序时,突然报出 ImportError: Error loading object 'crawler.pipelines.MysqlPipeline': libmysqlclient_r.so.16: cannot open shared object file: No such file or directory 这个错误。
原来 ubuntu 12.04 把 libmysqlclient 16 升级成了 libmysqlclient 18,所以才导致这个问题,一个偷懒的解决办法如下:
cd /usr/lib/i386-linux-gnu/
sudo ln -sf libmysqlclient_r.so.18 libmysqlclient_r.so.16
如果你有更好的解决办法,欢迎分享!

转载2

转载3


我的问题

我的问题用这两个方法都不能解决,Ubuntu升级到了12.04,mysql升级到了5.5。和1不一样的是我的是64位系统,路径不一样,用locate查找。
综合起来是这样
$sudo updatedb
$locate libmysqlclient_r.so.18
/usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.18
/usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.18.0.0
$ sudo ln -sf /usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.18 /usr/lib/x86_64-linux-gnu/libmysqlclient_r.so.16

到此,解决了。