Después de la actualización con pacman -Syuq
:
# pacman -Sc
pacman: error while loading shared libraries: libicuuc.so.59: cannot open shared object file: No such file or directory
# find / -name libicuuc.so.* 2>/dev/null
/usr/lib/libicuuc.so.60.1
/usr/lib/libicuuc.so.60
Arch Linux en un Pi versión 1:
# uname -an
4.9.62-1-ARCH #1 SMP Fri Nov 17 13:42:55 UTC 2017 armv6l GNU/Linux
Respuesta1
Las soluciones propuestas anteriormente no eran relevantes o no funcionaron para mí. Por alguna razón, la actualización del icu
paquete de 59.1-2 a 60.1-1 provocó la interrupción del enlace y muchos programas (incluido Pacman) fallaron con este error posteriormente. No hay pacman interrumpido de mi lado.
Si todavía tienes el paquete anterior en tu caché, puedes probar esto, que funcionó para mí:
- Localice la versión en caché del paquete (por ejemplo, la mía era
/var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz
). - Extraelo:
mkdir -p ~/pkg/tmp && tar xJvf /var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz -C ~/pkg/tmp
- Copie libs a su carpeta lib:
sudo cp ~/pkg/tmp/usr/lib/libicu*.59 /usr/lib/
- Continuar con la actualización:
sudo pacman -Syu
- Ahora puede eliminar los archivos que acaba de extraer.
Respuesta2
También puede utilizar la variable LD_LIBRARY_PATH para cargar las bibliotecas icu desde una ubicación diferente. De esta manera, puedes evitar cualquier copia a /usr/lib:
$ mkdir -p ~/pkg/tmp
$ tar xJvf /var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz -C ~/pkg/tmp
$ su
# LD_LIBRARY_PATH=`pwd`/pkg/tmp pacman -U /var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz
Respuesta3
En caso de que tenga un ejecutable que necesite esa versión particular de la biblioteca (como sucedió en mi caso), existe unapaquete de aurpara esa versión específica.
Respuesta4
Resolvió el problema con pacman -Sc seguido de pacman -Syyu No estoy seguro de por qué resolvió el problema.