GNU/Linux >> Linux の 問題 >  >> Linux

libcrypto ライブラリ エラーが見つかりません

-L /usr/local/ssl/lib/ を追加 -lcrypto の前の GCC コマンドラインに . /usr/local/ssl の下の OpenSSL ヘッダーに対してビルドしているため 、同じプレフィックスで実際のライブラリにリンクする必要もあります(静的なものしかインストールされていないように見えますが、意図している場合と意図していない場合があります。ソースからビルドされた OpenSSL を適切に再インストールする必要がある場合があります)。

(編集) dlopen() を修正するには リンカによって友人が見つからない場合は、-ldl を追加します。 GCCコマンドラインに。 -ldl dlopen() を含む共有ライブラリである libdl.so に対してもリンクするようにリンカーに指示します。 、 dlsym()dlclose() 等。;これらの関数は OpenSSL によって内部的に使用されるため、-ldl -lcrypto を使用する場合の間接的な依存関係です (Linux の場合)。 libcrypto の静的バージョンにリンクしているため、すべての間接的な依存関係に対して明示的にリンクする必要があります。

適切なライブラリへのリンクに慣れていない場合は、オペレーティング システムのパッケージ マネージャーからインストールされた OpenSSL を使用することをお勧めします。面倒を省くかもしれません。


これは、ソースから独自の openssl を構築し、それを使用して他のプログラム (私の場合は Git) をコンパイルしようとした人々に関連する可能性があります。

openssl の構成中に、「共有」オプションを追加します:

./config shared

これにより、必要な共有ライブラリ libcrypto.so が作成されます .詳細は INSTALL ファイルにあります。

また、「make」中にこのエラーが発生した場合

"....can not be used when making a shared object

-fPIC で再コンパイル

./config shared -fPIC


Linux
  1. 設定エラーの修正方法:マクロディレクトリ「m4」が見つかりません[解決済み]

  2. 共有ライブラリのロード中にPythonインストールエラーを修正する方法:libssl.so.1.0.0? [解決済み]

  3. 有効なbaseurlが見つかりません:YumRepoエラー[解決済み]

  1. phpize設定エラー:ソースが見つかりません(config.m4)

  2. エラーOpenSSLの[PHPExtensionmysqlnd]が見つかりません

  3. pspellが見つかりません–PHP構成エラーを修正します

  1. -lmが見つかりませんか?

  2. ld が既存のライブラリを見つけることができません

  3. Linux で共有ライブラリを初期化する方法