easystroke и "вечная" проблема при обновлении boost-libs

Здесь два дня назад обозначал проблему. Приложение перестало работать.

Причиной оказалось обновление пакета boost-libs до 1.74.0-2; а не кед как подумал сначала. И поэтому установка пакета easystroke-git из AUR решила проблему. Всё собралось без ошибок и заработало. Нечто подобное обсуждалось в 2013 и 2017 годах. Другими словами случается довольно регулярно.

Сегодня boost-libs --> 1.75.0-1. При новой переустановке git-пакета сегодня не сразу обратил внимание на вывод в череде строк
Чтение локальной базы данных пакетов...
:: Загрузка последних исходников для пакета easystroke-git...
:: Пакет easystroke-git уже собран. Укажите флаг  '--rebuild' для принудительной пересборки.

Потратил время пока последовал совету) И в итоге всё получилось. Лечение пересборкой пакета помогает.
pikaur -S easystroke-git --rebuild

Тем кто в будущем столкнётся с такой проблемой, чтобы убедится в этой же причине достаточно выполнить (как указано в вышеприведённых ссылках на баг-трекере)
$ LD_DEBUG=files easystroke > log 2>&1
## и получить в хомяке вывод нечто вроде
 147856:
 147856:	file=libboost_serialization.so.1.74.0 [0];  needed by easystroke [0]
easystroke: error while loading shared libraries: libboost_serialization.so.1.74.0: cannot open shared object file: No such file or directory

Оставляю здесь как русскоязычную инструкцию.

P.S. Один из возможных способов решения проблемы чуть ниже. Как это работает.
Можно хук пакмана сделать чтоб автоматом запускал "пересборку" при обновлении пакетов от которых easystroke зависит
vs220
Можно хук пакмана сделать чтоб автоматом запускал "пересборку" при обновлении пакетов от которых easystroke зависит
Если бы кто помог, было бы здорово )))

Насколько понял (как и обозначено в топике) неработоспособность приложения вызывает лишь один пакет -- boost-libs. И в случае его обновления необходимо выполнить:
pikaur -S easystroke-git --rebuild

Хотя для сборки и подгружаются, но затем удаляются за ненадобностью (в моём случае)
Пакеты (3) boost-1.75.0-1  help2man-1.47.16-1  intltool-0.51.0-6

Будет установлено:  168,77 MiB

...

:: Удаление уже установленных зависимостей для easystroke-git:
проверка зависимостей...

Пакеты (3) boost-1.75.0-1  help2man-1.47.16-1  intltool-0.51.0-6

Будет освобождено:  168,77 MiB
Что то вроде
sudo nano /etc/pacman.d/hooks/easystroke.hook
вставить

[Trigger]
Operation=Install
Operation=Upgrade
Type=Package
Target=boost-libs*

[Action]
Depends=yay
When=PostTransaction
Exec=/usr/bin/runuser -l oleg -c 'env DISPLAY=:0 XAUTHORITY=/home/oleg/.Xauthority dbus-launch /usr/bin/roxterm -e "yay -S easystroke-git"'
Depends=
и
Exec= подправить на нужные юзер терминал и сборщик(aur помощник) или на скрипт сборки/установки.
При обновлении boost-libs появится терминал с установкой easystroke-git

Выглядит может и не очень
проблема в том что makepkg от рута запускать нельзя и приходится от юзера помошник или скрипт

Может подскажут более изящное/правильное решение
vs220
Выглядит может и не очень
Спасибо! Как минимум задано направление мысли. И обозначена проблема.
Единственное уточнение, которое вижу: указать флаг "--rebuild".

А если сработает, -- то пусть так и выглядит..
vall
пусть так
Вот человек более основательно озаботился
https://github.com/Skycoder42/repkg
Благодарю, надо изучить использование детальнее.
Вроде для любого пользователя арча должно быть очевидно, что при soname bump надо пересобирать пакеты, установленные вручную.
О крупных бампах предупреждают в списках рассылки.
такие дела.
cucullus
для любого пользователя арча должно быть очевидно
Как выяснилось за семь лет нашлось как минимум трое пользователей, для которых это было не столь очевидно)

cucullus
О крупных бампах предупреждают в списках рассылки
Не слежу столь тщательно за этим. Помимо несовпадения версии разделяемой библиотеки далее мог проявиться и другой фактор, вызывающий неработоспособность приложения. Вы абсолютно правы в той части, что пересборка пакета (установленного вручную) -- первое, что должно прийти на ум. В моменте решил дополнительно проработать вопрос и поиск вывел на ссылки, приведённые выше. В итоге Ваше соображение полностью подтвердилось. Ну и мне стало понятно как решать вопрос в дальнейшем.

И ещё обращу внимание, что изначально пакет был установлен из community (первая же ссылка в начальном сообщении топика). И подобных проблем как бы не предполагалось. Одним словом наслоилось много факторов.
vs220
https://github.com/Skycoder42/repkg
Наконец-то нашлось время. Сделал следующее.
pikaur -S repkg
sudo vim /etc/repkg/rules/system/easystroke-git.rule
~~~~~~~~~
boost-libs
Всё остальное - если нигде не ошибся - должен автоматически сделать repkg при изменении версии boost-libs.

Сомнения остались, поскольку там есть два варианта размещения правила для пересборки пакета. В случае выполнения от юзера (~/.config/repkg/rules) и в случае -- от сисадмина (/etc/repkg/rules/system). Поэтому для работы костыля при обновлении системы выбрал второе.

Осталось подождать, когда эта автоматизация понадобится -- как всё сработает. Кроме этого в качестве AUR helper'a рекомендуется yay. В практике же у меня pikaur.
 
Зарегистрироваться или войдите чтобы оставить сообщение.