linux - 使用 openssl 1.0.x 构建 curl,ldd 显示对 0.9.8 和 1.0.x 的依赖

标签 linux curl openssl

在将 openssl 从 0.9.8 更新到 1.0.x 后,我正在尝试在我们的自定义 linux 发行版上构建 curl 7.41.0。我试过 1.0.1m 和 1.0.2a。在 curl .so 库上运行 ldd 正确显示 libssl.so.1.0.0 和 libcrypto.so.1.0.0,但 curl 二进制文件显示 libssl 和 libcrypto .so 文件对 0.9.8 和 1.0.0 的依赖。

这不是 openssl 的并行安装,我们正在删除 0.9.8 并重建所有依赖它的包。由于系统上不再有 0.9.8 库,因此 ldd 对这些条目显示“未找到”。 openssl 的头文件也更新了,所以它不包括旧的头文件。据我所知,系统上没有留下 0.9.8 的痕迹。

包括 openssh 和 wget 在内的其他包可以正常编译,并且只能动态链接到 1.0.0 .so 文件。

最佳答案

我想出了问题所在。仍然安装了旧的 curl,并且两个版本都有 libcurl.so.4。在构建 rpm 或在安装之前从构建目录运行新的 curl 时,系统会将其链接到旧的 libcurl.so.4。所以 rpm 将 0.9.8 .so 文件列为依赖项。我删除了旧的 curl rpm 包并重建了它。

关于linux - 使用 openssl 1.0.x 构建 curl,ldd 显示对 0.9.8 和 1.0.x 的依赖,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29149620/

相关文章:

ssl - 带有自己的 rsa 公钥信息的 openssl X509 证书

mysql - 在多线程应用程序中使用 libmysqlclient

linux - 脚本编程中的 Bash 编码

linux - 当 bash 中找不到标记时无法获取空子字符串

linux - 如何忽略expect脚本中的反斜杠

java - 通过curl命令在Keycloak 10.0.1上创建新用户

linux - 无法与服务器建立 TCP 连接

php - 是否可以使用 cURL 通过 SSH 抓取文件?

c++ - 没有 libeay32.dll 的 OpenSSL win32

java - AES加密跨组件Java/Scala和C