tan*_*dar 14 ubuntu openldap libssl libcrypto
我正在使用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一样简单.文件在那里,它们不是链接.
在学习了ldap服务器的基础知识的同时,在编译和安装OpenLDAP之后,使用其网站上的说明开始了这一点.我当然删除了openLDAP以尝试删除问题.我还重新安装了OpenSSL和libssl1.0.0来尝试测试该解决方案.
任何帮助将不胜感激,不幸的是谷歌没有用.
Mr.*_*ude 12
我想我应该做对了......
问题:libssl.so.1.0.0和libcrypto.so.1.0.0没有可用的版本信息警告/错误.
我解决了!好极了!!!(烟花爆炸应该是东西.)
经过大量的研究,时间和精力,(花了几周),这就是我最终做到的......
在您最终提取openssl 1.0.1h版本的源代码的目录中(也适用于其他版本.)我创建了一个名为openssl.ld的文件
在这个文件中放这个......
回答
OPENSSL_1.0.0 {
global:
*;
};
Run Code Online (Sandbox Code Playgroud)
保存.现在输入...
干净(只是为了确保我们开始新鲜.)
现在为真正令人难以置信的部分......
./config --prefix=/usr/local --openssldir=/usr/local/openssl shared -Wl,--version-script=openssl.ld -Wl,-Bsymbolic-functions
Run Code Online (Sandbox Code Playgroud)
然后...
make
make test
make install
ldconfig
Run Code Online (Sandbox Code Playgroud)
这应该做到这一点.(这很简单.不需要修补.)
我已经将这个解决方案应用于Debian Wheezy 32位和64位版本.并且做了一个观察.64位版本自动默认为在/ usr/local/lib目录中创建的新libssl.so.1.0.0和libcrypto.so.1.0.0文件.32位版本没有.这就是为什么我一开始认为32位版本的Debian Wheezy没有遇到这个问题,但是一旦你得到32位版本就可以在/ usr/local/lib目录中使用新的openssl库.
使用ldd命令测试二进制文件正在使用哪些库对于解决这个问题也是非常宝贵的.
祝你今天愉快.
E.杜德先生
从源代码(openssl-1.0.1f)编译并安装最新版本的 openssl 后,我还收到了烦人的警告消息。经过一些研究以及一些试验和错误,我能够针对我的特定场景解决该问题。它基本上归结为警告消息所说的内容。从源代码构建的库中没有可用的版本信息。这是 Ubuntu 团队在其发行版中添加的内容。因此,解决方案是使用 openssl 的 Ubuntu 软件包发行版中包含的版本脚本修补 openssl 源代码后重新编译它。
我在 Google 上搜索“修补 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
Run Code Online (Sandbox Code Playgroud)
现在,错误消息应该消失了。
值得一提的是,最初我使用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,它引导我走上了正确的道路。
| 归档时间: |
|
| 查看次数: |
22737 次 |
| 最近记录: |