Ошибка при загрузке разделяемых библиотек: внутренняя ошибка

Вам, вероятно, потребуется добавить сервер в базу данных Kerberos, также известную как KDC, путем создания принципала для самой машины.

Если вы используете Windows Active Directory с KDC, вы можете использовать ktpass.exe для добавления хоста в KDC.

если вы используете Windows или Linux Kerberos KDC, вы можете использовать команду ktutil в оболочке Linux для доступа к базе данных Kerberos.

2
08.11.2016, 09:22
1 ответ

когда двоичный файл компилируется, он может использовать разделяемые библиотеки, эти библиотеки имеют ссылки с номером версии, так что вы получаете версию библиотеки, которая поддерживается.

иногда можно обойтись сим-связкой более новой библиотеки со старым именем, и двоичный файл будет пытаться использовать эту библиотеку.

однако это не означает, что двоичный файл будет поддерживать эту версию. Некоторые функции могут быть изменены, некоторые функции удалены или добавлены, и так далее.

Поэтому я бы предложил перекомпилировать бинарник с более новой версией библиотеки, несовместимость будет отмечена во время компиляции.

Вы можете посмотреть зависимости библиотек с помощью ldd.

Пример;

$ ldd /bin/ls
    linux-vdso.so.1 (0x00007ffc65ff3000)
    libselinux.so.1 => /lib/x86_64-linux-gnu/libselinux.so.1 (0x00007f9033f91000)
    libc.so.6 => /lib/x86_64-linux-gnu/libc.so.6 (0x00007f9033bf1000)
    libpcre.so.3 => /lib/x86_64-linux-gnu/libpcre.so.3 (0x00007f9033979000)
    libdl.so.2 => /lib/x86_64-linux-gnu/libdl.so.2 (0x00007f9033771000)
    /lib64/ld-linux-x86-64.so.2 (0x0000558f25845000)
    libpthread.so.0 => /lib/x86_64-linux-gnu/libpthread.so.0 (0x00007f9033551000)

Edit: ps... вы не можете просто скопировать все библиотеки, так как у них есть свои собственные зависимости. вашей машине для кросс-компиляции понадобятся схожие версии библиотек для компиляции.

2
27.01.2020, 22:10

Теги

Похожие вопросы