libQt5Core при смене ядра.
delvin 23 июня, 2019 - 08:20
Приветствую всех.
Тут такой интересный момент образовался, хотелось бы разобраться.
В ядре 4.19.23, скажем, otter-browser запускается нормально, а вот в 3.16.68(оно мне надо для работы с прогами требующими отзывчивости) выдает:
otter-browser: error while loading shared libraries: libQt5Core.so.5: cannot open shared object file: No such file or directory
При этом:
ls -lh /usr/lib64/libQt5Core.so.5
lrwxrwxrwx 1 root root 20 мая 26 22:13 /usr/lib64/libQt5Core.so.5 -> libQt5Core.so.5.12.3*
Вот это:
sudo strip --remove-section=.note.ABI-tag /usr/lib64/libQt5Core.so.5
не вариант.
Что ему не нравится? Что не так с третьим ядром? Менять? На какое из третьей ветки?
А, да, проги на PyQt5 работают нормально. Проверял на собственной.
Спасибо!
»
- Для комментирования войдите или зарегистрируйтесь
.
WTF?
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Spoiler написал(а):delvin
What WTF? I need low latency!
Делай, что должен и сбудется, чему суждено!
Linux 4.9.0 #2 SMP x86_64 Intel(R) Core(TM) i3 CPU 530 @ 2.93GHz
Mem: 4 Gb, VGA compatible controller: NVIDIA Corporation G92 [GeForce 9800 GT]
.
И как эта хотелка завязана на конкретную версию ядра?
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Да никак. Вопрос был про
Да никак. Вопрос был про вылет QtCore на третьем ядре. Ваше ВТФ видимо было про него?
Делай, что должен и сбудется, чему суждено!
Linux 4.9.0 #2 SMP x86_64 Intel(R) Core(TM) i3 CPU 530 @ 2.93GHz
Mem: 4 Gb, VGA compatible controller: NVIDIA Corporation G92 [GeForce 9800 GT]
.
когда вы компиляете что-нить полезное (при условии, что все инструменты используются корректно), в вашем объектном коде оказывается множество системных вызовов. Это вызовы ядра через glibc и стандартные библиотеки gcc, а также напрямую, Более того, в новых версиях ядра могут появляться новые ф-ии, которые при компиляции тулкита Qt оказались задейсевованы, а в устаревших ядрах оных, попросту, нет. Отсутствие обратной совместимости как бы ни разу не удивляет, удивляет ваше упорство при использовании устаревших ядер, особые св-ва (в т.ч. и "отзывчивость") которых зависят не от версии, а от патчей и конфига. Юзайте для таких хотелок не sys-kernel/gentoo-sources, а sys-kernel/ck-sources, или даже sys-kernel/pf-sources, но актуальную версию, коль скоро, кодите вы под актуальной
Мы тоже не всего читали Шнитке!.. © В. Вишневский
Spoiler написал(а): Юзайте
Посмотрел pf-sources. Интересно. Попробую.
А вот тут как раз немного удивляет. До сборки 5.1.10 на 3.16.68 этот самый Otter вполне работал. Проверил остальные проги зависящие от libQt5Core - все работает. Так что не в ядре дело.
Спасибо за ответ.
Делай, что должен и сбудется, чему суждено!
Linux 4.9.0 #2 SMP x86_64 Intel(R) Core(TM) i3 CPU 530 @ 2.93GHz
Mem: 4 Gb, VGA compatible controller: NVIDIA Corporation G92 [GeForce 9800 GT]
Все так, от себя спрошу
Все так, Спойлер все верно сказал, от себя только спрошу ТС: какую версию
linux-headers
используешь?Если тебе позарез хочется старого ядра, то и
linux-headers
должен быть соответственно старым, потому как новый активизирует новые фишки вglibc
, которые могут быть недоступными в старых ядрах, что приводит к дополнительным задержкам на обработку ошибок и т.п.Но, если надумаешь перейти к старому
linux-headers
, то не забудь пересобрать сначалаglibc
, потом весь тулчейн, а затем весь мир...Поэтому надо хорошо подумать, прежде чем идти на такие кардинальные изменения. Кстати, у тебя могут быть тормоза на новых ядрах именно потому, что при обновлении
linux-headers
,glibc
или тулчейна не пересобирался мир! А другие пакеты работают нормально, потому как они более свежие, т.е. обновлялись после тулчейна... Для эксперимента можешь попробовать пересобрать тулчейн (кстати, пересборку тулчейна надо делать в один поток, т.к. там важна последовательность!) и хотя бы только нужные тебе пакеты (Otter
?) с опцией '-е', чтобы обновились все зависимости под текущие библиотеки...