如何解决no version information available (required by **) 的错误
时间:2013-10-29 07:10:07 作者:vaster 标签: Linux no version information available 分类: FQA Linux
前几天,解决了一个关于问题no version information available (required by **),今天想起来,还是得记录一下。
项目同学说,他们每次用ssh从中控登录到GS上的时候,总是会提示一个no version information available (required by ssh)的错误提示,虽然最终不影响登录,但是,最终还是很影响体验的。所以我尝试着解决了一下这个问题。(由于当时没记录,所以也不记得它当时提示的是哪个so文件了)
刚开始看到这个问题,也理不清头绪,不能判断问题出在哪里,于是,只能通过对比的方法来尝试解决这个问题。对比发现其他so文件都正常,就是某一个so大小不一致,于是将它copy到本地,问题解决。
最终,我也不知道为什么会出现这个问题,但是,看到网上别人的描述,能判定,一般出现这种情况都是由于版本或文件本身问题或文件不存在等类似原因导致。
以下是摘的网上几个例子:
案例1:
/opt/php/bin/php: /usr/lib/libxml2.so.2: no version information available (required by /opt/php/bin/php)
PHP在CLI模式下执行脚本提示错误:/opt/php/bin/php: /usr/lib/libxml2.so.2: no version information available (required by /opt/php/bin/php)
出现这个问题主要是升级过libxml2导致的,/usr/lib/libxml2.so.2链接的版本与php配置中curl的版本不一致。所以可以删除这个版本,即除了php配置中curl其它的链接,将其链接到正确的版本。
比如查看版本:
lrwxrwxrwx 1 root root 16 Dec 23 14:06 /usr/lib/libxml2.so -> libxml2.so.2.7.6
lrwxrwxrwx 1 root root 16 Dec 23 14:06 /usr/lib/libxml2.so.2 -> libxml2.so.2.7.8以上 /usr/lib/libxml2.so.2对应版本为2.7.8,而Phpinfo显示出来的却是2.7.6,所以得删除/usr/lib/libxml2.so.2,重新链接到libxml2.so.2.7.6。
# rm /usr/lib/libxml2.so.2
# ln -s /usr/lib/libxml2.so.2.7.6 /usr/lib/libxml2.so.2
案例2:
/usr/local/lib/libxml2.so.2: no version information available错误解决办法
今天在某台vps上执行了下apt-get update&&apt-get upgrade之后再重启uwsgi时候就杯具了,提示/usr/local/lib/libxml2.so.2: no version information available (required by uwsgi)
搜索信息时候发现更多碰到这种情况都是php -v时候会出现,而大多的信息都是说libxml的版本不对,重新修改libxml2.so.2的软链接指向即可「ln -s 」。
我测试这台vps的php -v果然也提示了一堆/usr/local/lib/libxml2.so.2: no version information available的提示:
但通过phpinfo()检查时候发现libxml的版本其实是正确的(我的是编译的libxml2.7.8):
找到另一台正常的VPS查看libxml2.so.2文件大小,发现两台VPS的文件都是一样大小(没有检查MD5):
这时候看到一篇文章是说rm /usr/local/lib/libxml2.so*文件即可
最终,还是不知道问题原因