error al cargar bibliotecas compartidas; archivo muy corto

error al cargar bibliotecas compartidas; archivo muy corto

Estoy trabajando en una estación de trabajo CentOS 7. Instalé Rstudio y funcionó bien hasta hace poco. Pero ahora, si intento iniciarlo, http://localhost:8787/aparece un error que diceUnable to connect to service

Verifiqué si R funciona correctamente en la terminal y obtuve el siguiente error.

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

Si intento instalar R nuevamente usando el siguiente comando, sudo yum install R -yobtengo la siguiente respuesta

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

¿Que tengo que hacer?

Respuesta1

Tienes un dañado .so.

En general, emite el siguiente comando para encontrar el paquete al que pertenece:

yum provides \*/<so_file>

En tu 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
[...]

En este caso, queremos libgcc-4.4.6-4.el6.i686que obtenga otra versión.

Necesita reinstalar ese paquete.

yum reinstall libgcc-<version>.i686

Respuesta2

En mi caso recibía ld : error : myfile: file too short, o a veces:

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

porque estaba parcheando para Nix una carpeta que contenía código fuente y blob binario... y como la cantidad de archivos a parchear era alta, usé un script para parchearlos todos al mismo tiempo (usando findy sed -i). Desafortunadamente, sedtambién se aplicó a archivos binarios, lo que los corrompió por completo.

Me di cuenta de que al imprimir objdump -a myfileantes y después del parche (me daría un error en el segundo caso).

información relacionada