当尝试运行此程序时 sudo wget http://www.openssl.org/source/openssl-1.1.1.tar.gz
我收到以下错误:
wget: /usr/local/ssl/lib/libssl.so.1.0.0: no version information available (required by wget)
wget: /usr/local/ssl/lib/libssl.so.1.0.0: no version information available (required by wget)
URL transformed to HTTPS due to an HSTS policy
--2019-02-24 23:46:26-- https://www.openssl.org/source/openssl-1.1.1.tar.gz
wget: symbol lookup error: /usr/local/ssl/lib/libssl.so.1.0.0: undefined symbol: EVP_idea_cbc
答案1
这是静态链接到 /usr/local 的 wget 的自定义版本吗?
您可以运行which wget
以获取 wget 的完整路径。输出可能类似于
$ which wget
/usr/bin/wget
然后使用ldd
并传递该完整路径。例如ldd /usr/bin/wget
输出应如下所示:
$ ldd /usr/bin/wget
linux-vdso.so.1 (0x00007ffcc3bfd000)
libgtk3-nocsd.so.0 => /usr/lib/x86_64-linux-gnu/libgtk3-nocsd.so.0 (0x00007f4f516da000)
libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f4f51468000)
libuuid.so.1 => /lib/x86_64-linux-gnu/libuuid.so.1 (0x00007f4f51261000)
libidn2.so.0 => /usr/lib/x86_64-linux-gnu/libidn2.so.0 (0x00007f4f51044000)
libssl.so.1.1 => /usr/lib/x86_64-linux-gnu/libssl.so.1.1 (0x00007f4f50dda000)
libcrypto.so.1.1 => /usr/lib/x86_64-linux-gnu/libcrypto.so.1.1 (0x00007f4f50962000)
libpsl.so.5 => /usr/lib/x86_64-linux-gnu/libpsl.so.5 (0x00007f4f50754000)
libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f4f50363000)
libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f4f5015f000)
libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f4f4ff40000)
/lib64/ld-linux-x86-64.so.2 (0x00007f4f51b62000)
libunistring.so.2 => /usr/lib/x86_64-linux-gnu/libunistring.so.2 (0x00007f4f4fbc2000)
ldd
告诉您可执行文件(wget)在哪里寻找它的动态链接库,即.so
它所依赖的文件。
如果您使用的是 wget 的自定义版本,并且希望 .so 库位于 /usr/local,那么您必须在包管理器之外自行安装这些库。
如果你想使用来自包管理器存储库的 wget 版本,它将在预期的 lib 目录中查找(类似于我上面的),你应该使用类似sudo apt-get install wget