web-dev-qa-db-ja.com

./configure中にOpenSSLが見つかりません

Ubuntu 14.04.3でビットコインのようなデーモンを1つ作成しようとしています。 ./configureを押すと:

checking for SSL... no
configure: error: openssl  not found.

だが

# apt-get install libssl-dev linux-headers-$(uname -r)
Reading package lists... Done
Building dependency tree
Reading state information... Done
libssl-dev is already the newest version.
linux-headers-3.13.0-61-generic is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 0 not upgraded.

エラーメッセージをグーグルで検索しましたが、どうすればよいかわかりません。私は他のUbuntu 14.04で1つのデーモンを正確に作成したので、ソースと構成スクリプトは良好です。

UPD1。 opensslをインストールしても役に立たなかった:

# apt-get install openssl
..
openssl is already the newest version.
..

私はconfig.logを確認しましたが、最後にopensslについて何もありません-HAVE_WORKING_BOOST_SLEEP_FORchecking for dynamic linked boost test... yesを参照します-./configure出力から最後に成功した行:

# tail config.log
#define HAVE_BOOST /**/
#define HAVE_BOOST_SYSTEM /**/
#define HAVE_BOOST_FILESYSTEM /**/
#define HAVE_BOOST_PROGRAM_OPTIONS /**/
#define HAVE_BOOST_THREAD /**/
#define HAVE_BOOST_CHRONO /**/
#define HAVE_BOOST_UNIT_TEST_FRAMEWORK /**/
#define HAVE_WORKING_BOOST_SLEEP_FOR 1

configure: exit 1

UPD2。私はそれを最後からかなり遠く離れたログで見つけました:

configure:25626: checking for SSL
configure:25633: $PKG_CONFIG --exists --print-errors "libssl"
Package libssl was not found in the pkg-config search path.
Perhaps you should add the directory containing `libssl.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libssl' found
configure:25636: $? = 1
configure:25650: $PKG_CONFIG --exists --print-errors "libssl"
Package libssl was not found in the pkg-config search path.
Perhaps you should add the directory containing `libssl.pc'
to the PKG_CONFIG_PATH environment variable
No package 'libssl' found
configure:25653: $? = 1
configure:25667: result: no
No package 'libssl' found
configure:25683: error: openssl  not found.
9
user510433

何らかの理由でPKG_CONFIG_PATHに、pkg-configユーティリティに必要なopenssl.pcファイルへの正しいパスが含まれていませんでした。私はfind / -name 'openssl.pc'を行い、/usr/lib/x86_64-linux-gnu/pkgconfig/で見つけました。そのパスは、他のubuntuから./configureへも使用されました。

つまり、./configure PKG_CONFIG_PATH="/usr/lib/x86_64-linux-gnu/pkgconfig/"を実行し、それでうまくいきました

その他、openssl.pcには別の/usr/local/ssl/lib/pkgconfig/がありますが、使用しようとすると、次のmakeコマンドがさまざまなエラー(関数への不明な参照など)でハングします。

4
user510433

Synaptic Package Manager(Ubuntu 16.04)にパッケージ名libssl-devが見つかり、libssl-devをインストールすると、すべてが解決されます。ところで、libssl1.0.0は機能しません。 libssl-devlibssl1.0.0を同時にインストールすることをお勧めします。

ちなみに、私は次の解決策がうまくいくとは思いません: 'pkg-config'がPATHにあり、PKG_CONFIG_PATHにopenssl.pcファイルが含まれています。 pkg-configが利用できない場合は、INCLUDE_DIRおよびLIB_DIRを手動で設定できます。RCMD INSTALL --configure-vars = 'INCLUDE_DIR = ... LIB_DIR = ...'

10
Shicheng Guo