私はUbuntu12.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を再インストールして、そのソリューションをテストしてみました。
どんな助けでも大歓迎です、残念ながらグーグルは役に立ちませんでした。
私は要点を正しく理解する必要があると思います...
問題:libssl.so.1.0.0およびlibcrypto.so.1.0.0にバージョン情報がありません警告/エラー。
私はそれを解決しました!!!わーい!!! (花火は消えるはずです。)
多くの研究、時間と労力を費やした後(数週間かかりました)、これが私が最終的にやったことです...
ご使用のバージョンのopenssl1.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
そしてそれはそれをするべきです。 (とても簡単です。パッチは必要ありません。)
私はこのソリューションを32ビットバージョンと64ビットバージョンの両方のDebianWheezyに適用しました。そして観察をしました。 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(openssl-1.0.1f)をコンパイルしてインストールした後、その迷惑な警告メッセージが表示されていました。試行錯誤しながら調査した結果、特定のシナリオの問題を修正することができました。それは基本的に、警告メッセージが正確に言うことでした。ソースから構築されたライブラリで利用可能なバージョン情報はありません。これは、Ubuntuチームがディストリビューションに追加したものです。したがって、解決策は、opensslのUbuntuパッケージディストリビューションに含まれているバージョンスクリプトでパッチを適用した後、opensslソースを再コンパイルすることです。
「ubuntuのバージョン情報を含むパッチopenssl」をグーグルで検索したところ、たまたま必要なソースパッケージが https://launchpad.net/ubuntu/+archive/primary/+files/openssl_1.0.1)で見つかりました。 f-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
これで、エラーメッセージは消えるはずです。
最初にopenssl-1.0.1fソースに、元のソースパッケージに含まれているバージョンスクリプトを http://archive.ubuntu.com/ubuntu/pool/main/o/openssl/openssl_1)からパッチしたことは言及する価値があります。 .0.1-4ubuntu5.11.debian.tar.gz 。しかし、私のmake
はエラーで失敗していました。同じバージョン1.0.1fを入手する必要があったのは理にかなっていると思います。
クレジットは彼の投稿のために@mattcaswに行きます http://ubuntuforums.org/showthread.php?t=190596 それは私を正しい道に導きました。