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_FOR
はchecking 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.
何らかの理由で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
コマンドがさまざまなエラー(関数への不明な参照など)でハングします。
Synaptic Package Manager(Ubuntu 16.04)にパッケージ名libssl-dev
が見つかり、libssl-dev
をインストールすると、すべてが解決されます。ところで、libssl1.0.0
は機能しません。 libssl-dev
とlibssl1.0.0
を同時にインストールすることをお勧めします。
ちなみに、私は次の解決策がうまくいくとは思いません: 'pkg-config'がPATHにあり、PKG_CONFIG_PATHにopenssl.pcファイルが含まれています。 pkg-configが利用できない場合は、INCLUDE_DIRおよびLIB_DIRを手動で設定できます。RCMD INSTALL --configure-vars = 'INCLUDE_DIR = ... LIB_DIR = ...'