1.5 KiB
1.5 KiB
+++ date = "2019-03-14" tags = ["arch"] title = "arch32でlibreadlineのerrorが出た場合の回避策" slug = "arch32" +++
arch32で詰みかけのerrorが出た話。
現在、32bitは公式では提供されてないので、https://archlinux32.org/
からダウンロードして使ってるもの。pacman-mirrorとかもいつもとは違うURLだったりする。
$ pacman -Syu
: GPGME エラー: 無効な暗号エンジンです
$ pacman-key --refresh-keys
/usr/bin/bash: error while loading shared libraries: libreadline.so.7: cannot open shared object file: No such file or directory
$ pacman -S readline
: GPGME エラー: 無効な暗号エンジンです
$ cd /var/cache/pacman/pkg
$ pacman -U readline.pkg
/usr/bin/bash: error while loading shared libraries: libreadline.so.7: cannot open shared object file: No such file or directory
ここで、あれ?なんかやばくない?と感じ始めた。
なんでかっていうと、アップデートするにはgpg-keyの更新が必要で、gpg-keyを更新するにはアップデート(おそらくreadline)が必要みたいな感じになってるから、多分...。
問題は、pacmanに使われてるbash scriptにlibreadlineが使われてることにあるみたいで、結局、既存のlibにシンボリックリンクを貼りました。その後、キーを更新して、アップデートが無事成功。
$ ln -s /usr/lib/libreadline.so.8.0 /usr/lib/libreadline.so.7
$ pacman-key --refresh-keys
$ pacman -Syu