yay – error while loading shared libraries: libalpm.so.xx

Arch Linux에서 yay를 실행하는데 libalpm.so를 로딩하지 못해서 죽는 경우가 생겼다. 검색해 보니 이런 경우가 종종 있는 모양이다. yay와 pacman 모두 ALPM(Arch Linux Package Management) Library에 의존하는데, packman에 의해 libalmp.so의 soname이 변경된 경우 yay가 이전 버전의 라이브러리를 로딩하지 못해 에러가 생길수 있다.

이 경우, yay는 libalpm.so.15를 참조하려다가 실패하고, pacman은 libalpm.so.16을 참조하고 있다. ldd로 봤을 때도 yay가 해당 라이브러리를 찾지 못하는 (“not found”) 상태임이 확인된다.

Arch Linux의 rolling release 특성상 이러한 종류의 문제는 이미 해결되어 있을 가능성이 높으므로 yay AUR을 빌드해서 다시 설치해 주는 것으로 대부분 해결할 수 있다.

# GitHub가 아닌 Arch AUR archive에서 clone
git clone https://aur.archlinux.org/yay.git
cd yay
# 빌드 후 인스톨 실행
makepkg -si