Erro ao carregar bibliotecas compartilhadas: libicuuc.so.59: não é possível abrir o arquivo de objeto compartilhado: Esse arquivo ou diretório não existe

11

Após a atualização com pacman -Syuq:

# pacman -Sc

pacman: erro ao carregar bibliotecas compartilhadas: libicuuc.so.59: não é possível abrir o arquivo de objeto compartilhado: não existe esse arquivo ou diretório

# find / -name libicuuc.so.* 2>/dev/null
/usr/lib/libicuuc.so.60.1
/usr/lib/libicuuc.so.60

Arch Linux em uma versão Pi 1:

# uname -an
4.9.62-1-ARCH #1 SMP Fri Nov 17 13:42:55 UTC 2017 armv6l GNU/Linux
frustratedMartian
fonte
O mesmo problema aqui, apareceu hoje. Para mim libicuuc.so.59. Eu tenho que ir através da linha de comando para inicializar e muitos programas não funcionam mais
zakrapovic
Também falta libicui18n.so.59 provavelmente relacionado
zakrapovic
Eu realmente resolveu o meu problema com pacman SC seguido de pacman -Syuu
zakrapovic

Respostas:

20

As soluções propostas anteriormente não eram relevantes ou não funcionaram para mim. Por algum motivo, a atualização do icupacote de 59.1-2 para 60.1-1 fez a quebra de ligação e muitos programas (incluindo pacman) falharam com esse erro depois. Nenhum pacman interrompido do meu lado.

Se você ainda tiver o pacote anterior em seu cache, tente o seguinte, que funcionou para mim:

  1. 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).
  2. Extraia-o: mkdir -p ~/pkg/tmp && tar xJvf /var/cache/pacman/pkg/icu-59.1-2-x86_64.pkg.tar.xz -C ~/pkg/tmp
  3. Copie libs para sua pasta lib: sudo cp ~/pkg/tmp/usr/lib/libicu*.59 /usr/lib/
  4. Prossiga com a atualização: sudo pacman -Syyu
  5. Agora você pode remover os arquivos que você acabou de extrair.
Legogris
fonte
2
Obrigado, isso funcionou para mim. Mas como devo remover com segurança os arquivos libicu * .59 copiados? rm /usr/lib/libicu*.59?
Skatox
Isso funcionou para mim também. Obrigado, tenha um voto positivo.
precisa saber é o seguinte
2

Você também pode usar a variável LD_LIBRARY_PATH para carregar as bibliotecas do icu de um local diferente. Dessa maneira, você pode evitar cópias 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
jviki
fonte
Foi LD_LIBRARY_PATH=`pwd`/pkg/tmp/usr/libno meu caso.
v_2e
1

Eu pesquisei o problema e descobri sobre o /var/log/pacman.log. Eu li o log e descobri que o problema era:

...
[2017-11-28 04:34] [ALPM] upgraded libmariadbclient (10.1.28-1 -> 10.1.29-1)
[2017-11-28 04:34] [ALPM] transaction interrupted

A atualização foi interrompida, daí o problema de ligação.

Eu então baixei o firmware daqui . Eu extraí a biblioteca ausente:

$ gunzip ArchLinuxARM-rpi-latest.tar.gz
$ tar -tf ArchLinuxARM-rpi-latest.tar |grep libicuuc.so.59
./usr/lib/libicuuc.so.59.1
./usr/lib/libicuuc.so.59
$ tar -xf ArchLinuxARM-rpi-latest.tar ./usr/lib/libicuuc.so.59.1
$ tar -xf ArchLinuxARM-rpi-latest.tar ./usr/lib/libicuuc.so.59

libicuuc.so.59era um link simbólico para libicuuc.so.59.1, então mudei libicuuc.so.59.1para /usr/lib/libicuuc.so.59.

Em execução pacman, recebi o erro que libicudata.so.59estava faltando. Eu extraí a biblioteca ausente /usr/libe pacmanestava trabalhando :).

Atualizei o sistema pacman -Syuqe verifiquei se ldd /usr/bin/pacmantodas as bibliotecas estavam presentes. Mudei as bibliotecas da v59 /usr/libe verifiquei que pacmanestava funcionando.

Reinicie com os dedos cruzados ... com sucesso !!!

pacman -Sc e ir para a cama com um sorriso :)

frustratedMartian
fonte
1

Caso você tenha um executável que precise dessa versão específica da biblioteca (como aconteceu no meu caso), há um pacote aur para essa versão específica.

ivcha
fonte
0

Resolvido o problema com pacman -Sc seguido por pacman -Syyu Não sei por que ele resolveu o problema.

alainsanguinetti
fonte
0

No seu sistema, lib32-icu não está instalado. Basta instalar o lib32-icu a partir do pacman e todo o problema será resolvido.

sudo pacman -S lib32-icu
Amar Hunter
fonte
0

Resolvi esse problema com a ajuda do seguinte link; aqui

De acordo com este artigo, a desatualização é uma má idéia e o que você provavelmente deve fazer é reconstruir o pacote que usa a dependência ausente acima. O downgrade pode afetar vários pacotes.

Kevin RED
fonte