没有可用的版本信息 [英] no version information available

查看:720
本文介绍了没有可用的版本信息的处理方法,对大家解决问题具有一定的参考价值,需要的朋友们下面随着小编来一起学习吧!

问题描述

我正在使用Ubuntu 12.04-服务器,并且持续得到:

I'm using Ubuntu 12.04 - server and consistently getting:

/usr/lib/libcrypto.so.1.0.0:无可用的版本信息(/usr/lib/libpython2.7.so.1.0要求)

/usr/lib/libcrypto.so.1.0.0: no version information available (required by /usr/lib/libpython2.7.so.1.0)

/usr/lib/libssl.so.1.0.0:无可用的版本信息(/usr/lib/libpython2.7.so.1.0要求)

/usr/lib/libssl.so.1.0.0: no version information available (required by /usr/lib/libpython2.7.so.1.0)

错误消息,没有任何原因说明.它可以像运行vi一样简单.文件在那里,它们不是链接.

error messages without any pattern for why. It can be something as simple as running vi.The files are there and they are not links.

这是在编译并安装OpenLDAP之后开始发生的,这是根据OpenLDAP网站上的指导,同时学习ldap服务器的基础知识.我已经删除了openLDAP,以尝试解决此问题.我还重新安装了OpenSSL和libssl1.0.0,以尝试测试该解决方案.

This started happening a little after compiling and installing OpenLDAP, using the instructions from their site while learning the basics of the ldap server. I have removed openLDAP of course to try and remove the problem. I have also reinstalled OpenSSL and libssl1.0.0 to try and test that solution.

任何帮助将不胜感激,不幸的是google并没有有用.

Any help will be greatly appreciated, google hasn't been useful unfortunately.

推荐答案

我想我应该说清楚了...

I suppose I should get right to the point...

问题:libssl.so.1.0.0和libcrypto.so.1.0.0没有可用的版本信息警告/错误.

Problem: libssl.so.1.0.0 and libcrypto.so.1.0.0 no version information available warning/error.

我解决了!!!耶!!! (烟花应该熄灭了.)

I SOLVED IT!!! YAY!!! (Fireworks should be going off and stuff.)

经过大量研究,时间和精力(花了几个星期),这才是我最终要做的...

After much research, time and effort, (took weeks), here's what I finally ended up doing...

在您最终提取了opensl 1.0.1h版本的源代码的目录中(也应适用于其他版本.),我创建了一个名为openssl.ld的文件

In the directory where you ended up extracting the source code for your version of openssl 1.0.1h (Should work for other versions too.) I create a file called openssl.ld

在此文件中放入...

In this file put this...

答案

OPENSSL_1.0.0 {
    global:
    *;
};

保存. 现在输入...

save it. Now type in...

保持清洁(确保我们从头开始.)

make clean (Just to be sure we are starting fresh.)

现在是真正令人难以置信的部分...

Now for the really mind boggling part...

./config --prefix=/usr/local --openssldir=/usr/local/openssl shared -Wl,--version-script=openssl.ld -Wl,-Bsymbolic-functions

然后...

make

make test

make install

ldconfig

那应该做到. (非常简单.无需修补.)

And that should do it. (It's so simple. No patching required.)

我已将此解决方案应用于32和64位版本的Debian Wheezy.并作了观察. 64位版本自动默认为在/usr/local/lib目录中创建的新libssl.so.1.0.0和libcrypto.so.1.0.0文件. 32位版本则没有.这就是为什么我起初以为Debian Wheezy的32位版本没有受到此问题的困扰,但是一旦获得32位版本就可以在/usr/local/lib目录中使用新的openssl库,它就会这样做.

I have applied this solution to Debian Wheezy both 32 and 64 bit versions. And have made an observation. The 64 bit version automatically defaults to the new libssl.so.1.0.0 and libcrypto.so.1.0.0 files that are created in the /usr/local/lib directory. The 32 bit version does not. Which is why I had thought at first that the 32 bit version of Debian Wheezy didn't suffer from this problem, but it does once you get the 32 bit version to use the new openssl libraries in the /usr/local/lib dir.

使用ldd命令测试二进制文件正在使用哪些库,对于弄清这一点也非常有用.

Using the ldd command to test what libraries the binaries are using was invaluable in figuring this out too.

祝你有美好的一天.

先生.杜德(E. Dude)

Mr. E. Dude

这篇关于没有可用的版本信息的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持IT屋!

查看全文
登录 关闭
扫码关注1秒登录
发送“验证码”获取 | 15天全站免登陆