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が利用できないと表示されるのはなぜですか?
したがって、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やメモリの負荷を追加することはありません。