erro ao carregar bibliotecas compartilhadas; arquivo muito pequeno

erro ao carregar bibliotecas compartilhadas; arquivo muito pequeno

Estou trabalhando em uma estação de trabalho CentOS 7. Eu instalei o Rstudio e estava funcionando bem até recentemente. Mas agora, se eu tentar iniciá-lo, http://localhost:8787/recebo um erro que dizUnable to connect to service

Verifiquei se R está funcionando corretamente no terminal e recebi o seguinte erro.

/usr/lib64/R/bin/exec/R: error while loading shared libraries: /lib/libgcc_s.so.1: file too short

Se eu tentar instalar o R ​​novamente usando o seguinte comando, sudo yum install R -yrecebo a seguinte resposta

Package R-3.5.2-2.el7.x86_64 already installed and latest version
Nothing to do

O que eu tenho que fazer?

Responder1

Você tem um danificado .so.

Em geral, você emite o seguinte comando para localizar o pacote ao qual ele pertence:

yum provides \*/<so_file>

No seu caso:

$ yum provides \*/libgcc_s.so.1
[...]
libgcc-4.4.6-4.el6.i686 : GCC version 4.4 shared support library
Repo : base
Matched from:
Filename : /lib/libgcc_s.so.1
[...]

Neste caso, queremos que libgcc-4.4.6-4.el6.i686você obtenha outra versão.

Você precisa reinstalar esse pacote.

yum reinstall libgcc-<version>.i686

Responder2

No meu caso eu estava recebendo ld : error : myfile: file too short, ou às vezes:

ld: warning: myfile has a section extending past end of file
ld : error : myfile: ELF section name out of range

porque eu estava corrigindo para Nix uma pasta contendo código-fonte e blob binário… e como o número de arquivos para corrigir era alto, usei um script para corrigir todos eles ao mesmo tempo (usando finde sed -i). Infelizmente, sedtambém foi aplicado em arquivos binários, o que os corrompeu completamente.

Percebi isso imprimindo objdump -a myfileantes e depois do patch (receberia um erro no segundo caso).

informação relacionada