Após atualização com 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 em um Pi versão 1:
# uname -an
4.9.62-1-ARCH #1 SMP Fri Nov 17 13:42:55 UTC 2017 armv6l GNU/Linux
Responder1
As soluções propostas anteriormente não eram relevantes ou não funcionaram para mim. Por alguma razão, atualizar o icu
pacote de 59.1-2 para 60.1-1 fez com que a ligação fosse quebrada e muitos programas (incluindo o pacman) falharam com este erro depois. Nenhum pacman interrompido do meu lado.
Se você ainda tiver o pacote anterior em seu cache, você pode tentar isto, que funcionou para mim:
- Localize a versão em cache do pacote (por exemplo, a minha era
/var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz
). - Extraia-o:
mkdir -p ~/pkg/tmp && tar xJvf /var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz -C ~/pkg/tmp
- Copie libs para sua pasta lib:
sudo cp ~/pkg/tmp/usr/lib/libicu*.59 /usr/lib/
- Prossiga com a atualização:
sudo pacman -Syu
- Agora você pode remover os arquivos que acabou de extrair.
Responder2
Você também pode usar a variável LD_LIBRARY_PATH para carregar as bibliotecas icu de um local diferente. Desta forma, você pode evitar qualquer cópia para /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
Responder3
Caso você tenha um executável que necessite daquela versão específica da biblioteca (como aconteceu no meu caso), existe umpacote aurpara essa versão específica.
Responder4
Resolvi o problema com pacman -Sc seguido por pacman -Syyu Não sei por que resolveu o problema.