您的位置:首页 > 移动开发 > Objective-C

MySQLDB install Error:libmysqlclient_r.so.16: cannot open shared object

2012-03-26 00:00 423 查看
python连接MySql时出现的Error.

出现原因:

由于 /usr/local/lib/mysql 不在动态库默认搜索路径列表内,而mysql又装在此位置,生成的libmysqlclient_r.so.X 就不能被搜索到。

解决方案:

/usr/local/lib/mysql 这个路径写进 /etc/ld.so.conf.d/mysql.conf
然后再ldconfig下即可

echo "/usr/local/lib/mysql/ > /etc/ld.so.conf.d/mysql.conf
ldconfig


关于/ld.so.conf.d 和 ldconfig

默认动态库搜索路径为/lib 和 /usr/lib , 和/etc/ld.so.conf.d内所包含的目录,然后通过ldconfig来产生ld.so所需的缓存文件,缓存文件默认在/etc/ld.so.cache文件内。此文件包含了已经排好序的动态库列表。

你可以使用ldconfig -p打印出当前cache所保存的所有共享库的名字。

^_^[root@:~]#ldconfig -p
1035 libs found in cache `/etc/ld.so.cache'
libz.so.1 (libc6,x86-64) => /usr/lib64/libz.so.1
libz.so.1 (libc6) => /usr/lib/libz.so.1
libz.so (libc6,x86-64) => /usr/lib64/libz.so
libz.so (libc6) => /usr/lib/libz.so
libxslt.so.1 (libc6,x86-64) => /usr/lib64/libxslt.so.1
libxslt.so.1 (libc6) => /usr/lib/libxslt.so.1
libxslt.so (libc6,x86-64) => /usr/lib64/libxslt.so
libxml2.so.2 (libc6,x86-64) => /usr/lib64/libxml2.so.2
libxml2.so.2 (libc6) => /usr/lib/libxml2.so.2
libxml2.so (libc6,x86-64) => /usr/lib64/libxml2.so
libxml2.so (libc6) => /usr/lib/libxml2.so
libxmlsec1.so.1 (libc6,x86-64) => /usr/lib64/lib


通过 -v 参数显示扫描的动态库目录

^_^[root@:~]#ldconfig -v
ldconfig: Path `/usr/lib' given more than once
/usr/lib:
libcupsimage.so.2 -> libcupsimage.so.2
libbdevid.so.5.1.19.6 -> libbdevi


$(document).ready(function(){dp.SyntaxHighlighter.HighlightAll('code');});

原文链接:
http://blog.csdn.net/crazyjixiang/article/details/6749230
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: 
相关文章推荐