KVM требует VT (аппаратная виртуализация в CPU), так что если у вашего окна нет того, то вам необходимо использовать эмуляцию с помощью QEMU. Это будет очень медленно.
KQemu - это (был) модуль ядра, который предшествовал VT, и который действовал, чтобы запустить весь код пользователя, а также только эмулировать привилегированный код ядра. Это сильно поправило вещи, но поддержка KQemu была выведена из QEMU V0.11 (выпущена летом 2009 года).
Ваши варианты:
Это последнее, вероятно, ваша лучшая ставка.
Вы должны сделать LDD /Lib64/libldap-2.4.so.2
, проверьте выходные данные для «неопределенных ссылок», найдите пакет, который обеспечивает это неопределенное lib, найти Ваше репо, вручную загрузите об / мин, который обеспечивает, что Lib, установите его с помощью RPM -I <отсутствует> .rpm
.
Скорее всего, ваша проблема связана с ошибкой в Libldap или вашего ручного вмешательства в упаковочную систему.
У меня есть RHEL6 поблизости, поэтому давайте найдем ваш символ для lib в /lib64/*.so.*; делать, если NM -D $ lib | grep ber_sockbuf_io_udp; затем эхо $ lib; FI; Сделано
Возвращает:
0000003e2240e460 D ber_sockbuf_io_udp
/lib64/liblber-2.4.so.2
0000003e2240e460 D ber_sockbuf_io_udp
/lib64/liblber-2.4.so.2.5.6
U ber_sockbuf_io_udp
/lib64/libldap-2.4.so.2
U ber_sockbuf_io_udp
/lib64/libldap-2.4.so.2.5.6
U ber_sockbuf_io_udp
/lib64/libldap_r-2.4.so.2
U ber_sockbuf_io_udp
/lib64/libldap_r-2.4.so.2.5.6
Так что ваш символ, определенный в /lib64/liblber-2.4.so.2, который устанавливается в моей системе. Как установлено, я мог бы сделать RPM -QF /Lib64/liblber-2.4.so.2
, которые показывают мне
openldap-2.4.23-32.el6_4.1.x86_64
, поэтому он должен быть частью вашей пакеты. Теперь вы должны проверить, существует ли эта библиотека в вашем FS. Если это не так, загрузите и переустановите пакет OpenLDAP. Если это существует - что-то не так с вашим Python.
В моем случае (RHEL7.8 + Apache 2.4 + Shibboleth 3.2 )Мне удалось решить проблему, заменив библиотеку /usr/lib64/libldap_r-2.4.so.2
на библиотеку из каталога Apache:<APACHE_ROOT>/HTTPServer/openldap/lib/libldap_r-2.4.so.2
Выполнить :locate libldap_r-2.4.so.2
найти расположение библиотеки. В моем случае я получил:
/app/ptc/Windchill_12.0/HTTPServer/openldap/lib/libldap_r-2.4.so.2
/app/ptc/Windchill_12.0/HTTPServer/openldap/lib/libldap_r-2.4.so.2.10.12
/usr/lib/libldap_r-2.4.so.2
/usr/lib/libldap_r-2.4.so.2.10.7
/usr/lib64/libldap_r-2.4.so.2
/usr/lib64/libldap_r-2.4.so.2.10.7
Я заметил, что библиотека, использованная в ошибке, находилась в каталоге /usr/lib64
. Заменил и теперь ./apachectl -t
сообщает «Синтаксис в порядке»
Я недостаточно хорошо разбираюсь в Linux, чтобы объяснить, что здесь происходит или какое правильное решение. Это было мое наблюдение и решило проблему, хотя я считаю, что мои шаги - взлом.
У кого-нибудь есть более элегантное решение с защитой от обновлений?
Ссылка:https://groups.google.com/g/repmgr/c/TS7QfYEoNoY
cd /usr/lib64/
ll | grep libldap
lrwxrwxrwx. 1 root root 21 Feb 11 16:42 libldap-2.4.so.2 -> libldap-2.4.so.2.10.7
-rwxr-xr-x. 1 root root 352512 Jun 6 2020 libldap-2.4.so.2.10.7
lrwxrwxrwx. 1 root root 23 Feb 11 16:42 libldap_r-2.4.so.2 -> libldap_r-2.4.so.2.10.7
-rwxr-xr-x. 1 root root 381328 Jun 6 2020 libldap_r-2.4.so.2.10.7
Похоже, что /usr/lib64/libldap_r2.4.so.2
— это просто символическая ссылка на libldap_r-2.4.so.2.10.7
.
Интересно, есть ли отсутствующие или устаревшие символы в версии 2.10.7... Есть ли способ определить разницу между двумя версиями?
ОБНОВЛЕНИЕ Я заметил, что вы можете использовать команду LoadFile
в конфигурации Apache. Добавление LoadFile <APACHE_ROOT>/HTTPServer/openldap/lib/libldap_r-2.4.so.2
в мой файл 00 -shib.conf до записи LoadModule mod_shib /usr/lib64/shibboleth/mod_shib_24.so
решило проблему.
Это все еще кажется мне обходным путем/хаком, и может быть основная проблема с библиотеками/различными версиями.