如何运行不同版本的 OpenSSL

如何运行不同版本的 OpenSSL

升级到 Ubuntu 22.04 破坏了 Qt 6.x 与 OpenSSL 的兼容性(它需要 1.x,但安装了 3.x)。我按照以下方法解决了这个问题过程。现在我可以运行我的 Qt 应用程序的网络功能。但是,此解决方法破坏了 gstreamer 兼容性:

GStreamer-WARNING **: 17:50:46.632: Failed to load plugin '/usr/lib/x86_64-linux-gnu/gstreamer-1.0/libgstlibav.so': /lib/x86_64-linux-gnu/libssl.so.3: version `OPENSSL_3.0.0' not found (required by /lib/x86_64-linux-gnu/librabbitmq.so.4)

实际上/lib/x86_64-linux-gnu/libssl.so.3存在,但我担心链接的程序会使 OpenSSL 1.0 成为默认值。

无论如何,这些消息有点令人困惑,因为它说没有找到版本 3,但实际上它找到了它:

$ ldd /lib/x86_64-linux-gnu/librabbitmq.so.4
/lib/x86_64-linux-gnu/librabbitmq.so.4: /lib/x86_64-linux-gnu/libssl.so.3: version `OPENSSL_3.0.0' not found (required by /lib/x86_64-linux-gnu/librabbitmq.so.4)
    linux-vdso.so.1 (0x00007fff561f6000)
    libssl.so.3 => /lib/x86_64-linux-gnu/libssl.so.3 (0x00007f8114b1c000)
    libcrypto.so.3 => /lib/x86_64-linux-gnu/libcrypto.so.3 (0x00007f81146da000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f81144b2000)
    libcrypto.so.1.1 => /usr/local/ssl/lib/libcrypto.so.1.1 (0x00007f81141c2000)
    /lib64/ld-linux-x86-64.so.2 (0x00007f8114be1000)
    libz.so.1 => /lib/x86_64-linux-gnu/libz.so.1 (0x00007f81141a6000)

如何维护两者以便应用程序可以使用它们所需要的?

相关内容