碰到no version information available问题

39 篇文章 1 订阅

先说下环境:

本地fedora系统,libmysqlclient.so版本是18

而服务器Centos 6.3,libmysqlclient.so版本是16


backend是在本地fedora上编译,链接。。然后远程拷贝到服务器上。

运行的时候出现

./backend: error while loading shared libraries: libmysqlclient.so.18: cannot open shared object file: No such file or directory

原因就是因为backend找不到libmysqlclient.so.18

为图省事就远程拷贝本地的libmysqlclient.so.18.0.0到服务器上,并创建libmysqlclient.so.18链接到libmysqlclient.so.18.0.0

backend可以成功运行,但是出现如下错误提示:

./backend: /usr/lib/mysql/libmysqlclient.so.18: no version information available (required by ./backend)

Google找了一下,原因就是因为libmysqlclient存在多个版本,不知道修改库的版本好了。

尝试了yum升级了一下,但是还是版本16,没有效果。

如果直接用libmysqlclient.so.18替换libmysqlclient.so.16的话,可能导致其他使用16版本的程序无法执行。。


后来想了个招。。删了libmysqlclient.so.18.0.0,然后ln -s libmysqlclient.so.16.0.0 libmysqlclient.so.18

然后。。。错误没了。。。

可耻的作弊了,可能存在的严重后果就不多说了。。


个人觉得最好的办法就是在本地装一个libmysqlclient的16版的来编译backend,毕竟服务器上的东西还是不要胡乱搞的好


  • 1
    点赞
  • 3
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值