39 lines
1.5 KiB
Markdown
39 lines
1.5 KiB
Markdown
|
+++
|
||
|
date = "2019-03-14"
|
||
|
tags = ["arch"]
|
||
|
title = "arch32でlibreadlineのerrorが出た場合の回避策"
|
||
|
slug = "arch32"
|
||
|
+++
|
||
|
|
||
|
arch32で詰みかけのerrorが出た話。
|
||
|
|
||
|
現在、32bitは公式では提供されてないので、`https://archlinux32.org/`からダウンロードして使ってるもの。pacman-mirrorとかもいつもとは違うURLだったりする。
|
||
|
|
||
|
```bash
|
||
|
$ 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にシンボリックリンクを貼りました。その後、キーを更新して、アップデートが無事成功。
|
||
|
|
||
|
```bash
|
||
|
$ ln -s /usr/lib/libreadline.so.8.0 /usr/lib/libreadline.so.7
|
||
|
$ pacman-key --refresh-keys
|
||
|
$ pacman -Syu
|
||
|
```
|