我使用的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源代码.11.debian.tar.gz 。 但是,我的make
失败了一个错误。 我想这是有道理的,我需要得到相同的版本1.0.1f。
信贷去@mattcasw他的职位http://ubuntuforums.org/showthread.php?t=1905963这导致了我的正确道路。