2025/6/18 cri-o が libgpgme.so.11: cannot open shared object file でイメージプルに失敗する
#k8s
code:log
Error: ErrImagePull
Failed to pull image "orbforge/orb:latest@sha256:e3c09e42cdf02a28d7af299869c2e918ed3d6853bcaba935b1e623eec99a3c0d": copying system image from manifest list: writing blob: adding layer with blob "sha256:19caee4479081e60b742c92aec76a978c7a7eddb8f4eabfbb8983e4cd4f59b0c"/""/"sha256:5f8b2e22b54b4d97f4ca8e849f9927ec199a911bbfce338a9623d4c70f0f76e1": unpacking failed (error: exit status 127; output: storage-untar: error while loading shared libraries: libgpgme.so.11: cannot open shared object file: No such file or directory )
原因
ホスト OS で -Syu したときに gpgme==2.0.0 に更新されてしまった
共有ライブラリである /usr/lib/libgpgme.so.11 が見つからなくなっていた
ワークアラウンド
gpgme==1.24.3-2 にロールバック
-Syu したときに同時に新バージョンの gpgme に依存する pacman が入ってしまったので、同時にダウングレード
code:console
$ sudo pacman -U \
/var/cache/pacman/pkg/gpgme-1.24.3-2-x86_64.pkg.tar.zst \
/var/cache/pacman/pkg/pacman-7.0.0.r6.gc685ae6-5-x86_64.pkg.tar.zst
追記 (2025/6/18 16:13)
cri-o==1.33.1-2 に更新することで上記のワークアラウンドは不要。gpgme==2.0.0 に更新しましょう
/usr/bin/crio を ldd すると gpgme==2.0.0 の持つ /usr/lib/libgpgme.so.45 にリンクされていた
code:console
$ ldd /usr/bin/crio
linux-vdso.so.1 (0x00007f6761f67000)
libseccomp.so.2 => /usr/lib/libseccomp.so.2 (0x00007f6761f33000)
libgpgme.so.45 => /usr/lib/libgpgme.so.45 (0x00007f6761ee2000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007f675ca10000)
libassuan.so.9 => /usr/lib/libassuan.so.9 (0x00007f6761ecd000)
libgpg-error.so.0 => /usr/lib/libgpg-error.so.0 (0x00007f6761ea2000)
/lib64/ld-linux-x86-64.so.2 => /usr/lib64/ld-linux-x86-64.so.2 (0x00007f6761f69000)