未定义符号:SSL_CTX_set_alpn_protos
undefined symbol: SSL_CTX_set_alpn_protos
我在用zypper安装包的时候遇到这样的问题'undefined symbol: SSL_CTX_set_alpn_protos'。完整消息如下。
zypper: symbol lookup error: /usr/local/lib/libcurl.so.4: undefined symbol: SSL_CTX_set_alpn_protos
我在网上搜索了一下,得到了一些提示。
1.我的系统里有两个libcurl,我试着卸载了一个自己安装的。但是我遇到了另一个问题,消息如下。
*Error building the cache:
[git|https://github.com/git/git] Valid metadata not found at specified URL
Warning: Disabling repository 'git' because of the above error.
Loading repository data...
Reading installed packages...
'subversion' not found in package names. Trying capabilities.
No provider of 'subversion' found.
Resolving package dependencies...
Nothing to do.*
- 如果问题是由两个 libcurl 引起的。如果我想保留我安装的 libcurl,我该怎么做?
如果有人能提供帮助,我将不胜感激!
您在 /usr/local/lib/libcurl.so.4
中构建并安装的 libcurl 是针对具有 SSL_CTX_set_alpn_protos
函数的 OpenSSL 版本构建的。这意味着 OpenSSL 1.0.2 或 1.1.0.
当您现在 link 使用该库时,它会在 运行 时发现缺少 SSL_CTX_set_alpn_protos
功能的较旧的 OpenSSL(可能是 1.0.1 或更旧?)。而且无法继续。
您需要确保 ld.so 将加载更新的 OpenSSL。您可以通过执行以下操作之一来解决此问题:
- 卸载旧的 OpenSSL
- 编辑
/etc/ld.so.conf
文件以创建另一个搜索顺序,或者您可以
- 为其设置一个
LD_LIBRARY_PATH
。甚至...
- 构建 libcurl 以使用指向较新 OpenSSL 的固定路径
我在用zypper安装包的时候遇到这样的问题'undefined symbol: SSL_CTX_set_alpn_protos'。完整消息如下。
zypper: symbol lookup error: /usr/local/lib/libcurl.so.4: undefined symbol: SSL_CTX_set_alpn_protos
我在网上搜索了一下,得到了一些提示。 1.我的系统里有两个libcurl,我试着卸载了一个自己安装的。但是我遇到了另一个问题,消息如下。
*Error building the cache:
[git|https://github.com/git/git] Valid metadata not found at specified URL
Warning: Disabling repository 'git' because of the above error.
Loading repository data...
Reading installed packages...
'subversion' not found in package names. Trying capabilities.
No provider of 'subversion' found.
Resolving package dependencies...
Nothing to do.*
- 如果问题是由两个 libcurl 引起的。如果我想保留我安装的 libcurl,我该怎么做?
如果有人能提供帮助,我将不胜感激!
您在 /usr/local/lib/libcurl.so.4
中构建并安装的 libcurl 是针对具有 SSL_CTX_set_alpn_protos
函数的 OpenSSL 版本构建的。这意味着 OpenSSL 1.0.2 或 1.1.0.
当您现在 link 使用该库时,它会在 运行 时发现缺少 SSL_CTX_set_alpn_protos
功能的较旧的 OpenSSL(可能是 1.0.1 或更旧?)。而且无法继续。
您需要确保 ld.so 将加载更新的 OpenSSL。您可以通过执行以下操作之一来解决此问题:
- 卸载旧的 OpenSSL
- 编辑
/etc/ld.so.conf
文件以创建另一个搜索顺序,或者您可以 - 为其设置一个
LD_LIBRARY_PATH
。甚至... - 构建 libcurl 以使用指向较新 OpenSSL 的固定路径