Після оновлення Arch Linux, yay почав видавати помилку:
yay: error while loading shared libraries: libalpm.so.13: cannot open shared object file: No such file or directory
Спершу, ддавайте знайдемо файл бібліотеки libalpm
:
$ sudo find / -type f -name "*.so*" | grep libalpm /usr/lib/libalpm.so.14.0.0
Окей – він є, але версії 14 – libalpm.so.14
, а Yay хоче стару, 13.
Перший варіант пофіксити – це тупо зробити symlink /usr/lib/libalpm.so.14.0.0
на файл /usr/lib/libalpm.so.13
:
$ sudo ln -s /usr/lib/libalpm.so.14.0.0 /usr/lib/libalpm.so.13
Але хоча це робоче рішення, але краще обходитись без таких “грязних хаків”.
Натомість ми можемо просто перезібрати та перевстановити Yay – тоді він буде використовувати нову версію libalpm
.
Встановлюємо пакети Git та base-devel
:
$ sudo pacman -S git base-devel
Клонуємо репозиторій Yay, збираємо та встановлюємо його за допомогою makepkg
, яка використає файл PKGBUILD
з “інструкціями” по білду та інсталяції пакета.
А вже у PKGBUILD
ми маємо флаг “GOFLAGS="${GOFLAGS} $(pacman -T 'libalpm.so=14-64')"
.
Отже. клонуємо, та запускаємо makepkg
з опціями -s
(--syncdeps
– встановити залежності) та -i
(--install
– встановити зібраний пакет з pacman
):
$ git clone https://aur.archlinux.org/yay.git $ cd yay/ $ makepkg -si
І Yay тепер працює:
$ yay --help Usage: yay yay <operation> [...] yay <package(s)> ...
Готово.