web-dev-qa-db-ja.com

ソースから「wget」をコンパイルしようとするとSSLが利用できませんか?

Linuxのソースからwgetを次の方法でインストールしようとしました。

./configure --with-ssl=openssl

しかし、それは私を返します:

configure: error: --with-ssl=openssl was given, but SSL is not available.

私が行った場合:

root@qemux86:/mnt/sdc2/wget-1.16# which openssl
/mnt/sdc2/miniconda/bin/openssl

したがって、OpenSSLがインストールされている必要があります。それでもSSLが利用できないと表示されるのはなぜですか?

4
andy_ttse

したがって、OpenSSLをインストールする必要があります。それでもSSLが利用できないと表示されるのはなぜですか?

はい、OpenSSLはすでにコンパイル済みのバイナリとしてシステムにインストールされていますが、ソースのコンパイルに必要な共有ライブラリと関連ヘッダーはnotインストールされています。したがって、ソースからwgetをコンパイルしようとすると、その構成エラーが発生します。 --with-ssl=opensslフラグを使用して正常にコンパイルするには、これらの共有ライブラリをインストールする必要があります。

OpenSSLライブラリがシステムにインストールされているかどうかを確認するには、次のように ldconfig を実行します。

ldconfig -p | grep ssl

そして、出力は次のようになります。私が管理している実行中のUbuntuシステムから取得:

libssl.so.1.0.0 (libc6,x86-64) => /lib/x86_64-linux-gnu/libssl.so.1.0.0
libssl.so (libc6,x86-64) => /usr/lib/x86_64-linux-gnu/libssl.so

出力が空白の場合、OpenSSLの共有ライブラリはインストールされません。したがって、それらをインストールする必要があります。

使用しているLinuxのフレーバーがわからないが、Ubuntu/Debianの場合は、apt-getコマンドを使用してこれを実行してインストールします。

Sudo apt-get install libssl-dev

また、CentOS/RedHatシステムでは、次のようにyumを介してインストールします。

yum install -y openssl-devel

また、システムに共有ライブラリをインストールすることを心配している場合でも、心配する必要はありません。それらは基本的にただそこに座って、プログラムによるコンパイルまたは実行時の使用に必要になるまで何もしません。つまり、ファイルはシステム上の物理スペースを占有するだけであり、インストールするだけでシステムにCPUやメモリの負荷を追加することはありません。

2
JakeGould