Конфликтующие версии openssl под LinuxC++

Программы на C++. Форум разработчиков
Ответить
Anonymous
 Конфликтующие версии openssl под Linux

Сообщение Anonymous »

Я строю проект, связывающий как с QTnetwork (QT6), так и библиотекой Python (3.8). < /p>
во время выполнения, я получаю ошибку: < /p>

Код: Выделить всё

my_prg_bin: symbol lookup error: /lib64/libk5crypto.so.3: undefined symbol: EVP_KDF_ctrl, version OPENSSL_1_1_1b
< /code>
После исследования я мог бы наконец изолировать проблему и нашел основную причину: < /p>
[list]
[*]ldd libQt6Network.so.6
показывает, что он ссылается на libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x000014fdf898a000)
[*]

Код: Выделить всё

ldd my_prg_bin
показывает, что это ссылается на libcrypto.so.1.1 => /home/me/python385/lin64/lib/libcrypto.so.1.1 (0x00001468b4898000)
[/list]
if obj /lib64/libcrypto.so.1.1 | grep evp_kdf , я вижу некоторые записи openssl_1_1_1b . Если я сделаю objdump -tc /home/me/python385/lin64/lib/libcrypto.so.1.1 | grep evp_kdf , это пусто. Эти два файла определенно не совпадают. Cmakelists.txt , он не ссылается на/home/me/python385/lin64/lib/libcrypto.so.1.1 , и проблема исчезла.

Код: Выделить всё

libQt6Network
был скомпилирован моим системным корнем. Python был загружен Miniconda. Есть ли способ исправить эти противоречивые версии SSL?

Код: Выделить всё

ldd my_prg_bin
Теперь показывает, что он ссылается на libcrypto.so.1.1 => /lib64/libcrypto.so.1.1 (0x000014baaab6e000)
[*] больше не происходит сбой
[*]
[*]

Код: Выделить всё

/home/me/Python385/lin64/bin/python
и моя программа, по -видимому, работает нормально (моя программа способна запускать сценарии Python без проблем)

это «безопасный» обходной путь?

Подробнее здесь: https://stackoverflow.com/questions/796 ... nder-linux
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «C++»