Различия версий патча .so между RedHat и Ubuntu - PullRequest
0 голосов
/ 03 июля 2019

Я создал .so в Ubuntu, который требует libssl.so (он хочет libssl.so.1.0.0).

Текущая установленная версия libssl.so - libssl.so.1.0.2k, но есть ссылка libssl.so.1.0.0 на этот файл, поэтому я предполагаю, что Ubuntu обрабатывает версии исправлений, просто заменяя их .0.

Если я пытаюсь использовать этот .so на RHEL7, он не может его найти. В моей системе RHEL7 также установлена ​​libssl.so.1.0.2k, но ссылка на нее называется libssl.so.10. Я предполагаю, что RHEL обрабатывает версии патчей, отбрасывая их и объединяя старшую и младшую версии.

Я попытался решить, создав ссылку с именем libssl.so.1.0.0 на libssl.so.1.0.2k. Сделал то же самое для libcrypto.so.1.0.0 до libcrypto.so.1.0.2k. Теперь я получаю что-то странное:

% ldd libironoxide_java.so 
./libironoxide_java.so: /lib64/libcrypto.so.1.0.0: version `OPENSSL_1.0.0' not found (required by ./libironoxide_java.so)
./libironoxide_java.so: /lib64/libssl.so.1.0.0: version `OPENSSL_1.0.0' not found (required by ./libironoxide_java.so)
./libironoxide_java.so: /lib64/libc.so.6: version `GLIBC_2.18' not found (required by ./libironoxide_java.so)
    linux-vdso.so.1 =>  (0x00007ffcfda70000)
    libssl.so.1.0.0 => /lib64/libssl.so.1.0.0 (0x00007fc82d0d2000)
    libcrypto.so.1.0.0 => /lib64/libcrypto.so.1.0.0 (0x00007fc82cc70000)
    ...

Но обнаруженное libssl.so.1.0.0 НЕ требует OPENSSL_1.0.0

% objdump -p libssl.so.1.0.0 | grep SSL
3 0x00 0x066a2b21 OPENSSL_1.0.1
4 0x00 0x02b21533 OPENSSL_1.0.1_EC
5 0x00 0x066a2b22 OPENSSL_1.0.2
    OPENSSL_1.0.1 
    0x02b21533 0x00 08 OPENSSL_1.0.1_EC

Я не могу найти другие экземпляры libssl.so.1.0.0 в системе, которые должны сбивать с толку.

Есть идеи, что здесь происходит? И какие-либо предложения по созданию .so, который будет работать как на Ubuntu, так и на RHEL7?

1 Ответ

0 голосов
/ 03 июля 2019

RedHat широко известен как моддинг ядра и библиотек. Практически невозможно адаптировать критическую библиотеку как OpenSSL для обеспечения совместимости с системами на основе Debian.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...