尝试从源代码编译“wget”时 SSL 不可用?

尝试从源代码编译“wget”时 SSL 不可用?

我尝试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 或内存负载。

相关内容