我尝试wget
通过以下方式在 Linux 中从源代码进行安装:
./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 不可用?
答案1
所以必须安装 OpenSSL。为什么仍然说 SSL 不可用?
是的,OpenSSL 已作为已编译的二进制文件安装在您的系统上,但源代码编译所需的共享库和相关标头是不是安装。因此,当您尝试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
yum
在 CentOS/RedHat 系统上,你可以这样安装:
yum install -y openssl-devel
此外,如果您担心在系统上安装共享库,请不要担心。它们基本上只是待在那里,直到程序需要编译或运行时使用时才执行任何操作。这意味着这些文件只会占用系统上的物理空间,并且不会因为安装而给您的系统增加额外的 CPU 或内存负载。