没有可用的版本信息

我使用的Ubuntu 12.04 – 服务器,并一贯获得:

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

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

错误消息没有任何模式为什么。 它可以像运行vi这样简单的东西。文件在那里,他们不是链接。

在编译和安装OpenLDAP之后,使用来自他们站点的指令,学习了ldap服务器的基础知识之后,这一切就开始发生了。 我已经删除了openLDAP当然试图消除这个问题。 我还重新安装了OpenSSL和libssl1.0.0来尝试和testing该解决scheme。

任何帮助将不胜感激,谷歌一直不幸有用。

我想我应该明白这一点

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

我解决了! 好极了!!! (烟花应该熄灭的东西。)

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

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

在这个文件把这个…

回答

OPENSSL_1.0.0 { global: *; }; 

保存。 现在输入…

干净(只是为了确保我们开始新鲜)

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

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

然后…

 make make test make install ldconfig 

这应该做到这一点。 (这很简单,不需要修补)

我已经将这个解决方案应用于Debian Wheezy 32位和64位版本。 并进行了观察。 64位版本自动默认为在/ usr / local / lib目录中创建的新libssl.so.1.0.0和libcrypto.so.1.0.0文件。 32位版本不。 这就是为什么我一开始以为Debian Wheezy的32位版本没有受到这个问题的困扰,但是一旦你获得了32位版本,就可以在/ usr / local / lib目录下使用新的openssl库。

使用ldd命令来测试二进制文件正在使用的库是非常有价值的。

祝你今天愉快。

E. Dude先生

编译并从源代码安装最新版本的openssl(openssl-1.0.1f)后,我也得到了这个恼人的警告消息。 经过一些研究和一些试验和错误,我能够解决这个问题,为我的特定情况。 它基本上是根据警告信息说的。 从源代码构建的库中没有可用的版本信息。 这是Ubuntu团队在发行版中添加的内容。 因此,解决方案是在使用openssl的Ubuntu软件包发行版中包含的版本脚本进行修补后,重新编译openssl源代码。

我google'd“补丁openssl包含版本信息的Ubuntu”,碰巧找到我需要的源代码包在https://launchpad.net/ubuntu/+archive/primary/+files/openssl_1.0.1f-1ubuntu1。 debian.tar.gz 。

所以,我遵循的过程如下:

 rm -r -f -v openssl-1.0.1f (just to make sure you start fresh) wget http://www.openssl.org/source/openssl-1.0.1f.tar.gz tar -xvf openssl-1.0.1f.tar.gz wget https://launchpad.net/ubuntu/+archive/primary/+files/openssl_1.0.1f-1ubuntu1.debian.tar.gz tar -xvf openssl_1.0.1f-1ubuntu1.debian.tar.gz mv debian openssl_1.0.1f-1ubuntu1 (just because that's what I did) cd openssl-1.0.1f/ patch -p1 < ../openssl_1.0.1f-1ubuntu1/patches/version-script.patch ./config make make test sudo make install 

现在,错误信息应该消失了。

值得一提的是,最初我使用http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/openssl_1.0.1-4ubuntu5中的原始源代码包中包含的版本脚本来修补我的openssl-1.0.1f源代&#x7801;.11.debian.tar.gz 。 但是,我的make失败了一个错误。 我想这是有道理的,我需要得到相同的版本1.0.1f。

信贷去@mattcasw他的职位http://ubuntuforums.org/showthread.php?t=1905963这导致了我的正确道路&#x3002;