Kernel de Linux: 3.0.13-0.27-predeterminado #1 SMP
Instalé la utilidad "dialog" ( /usr/bin/dialog ) y acabo de copiar el archivo bin en /usr/bin
Cuando intenté ejecutarlo, apareció un mensaje de error sobre la falta de libncursesw.so.5.
para resolver el problema intento copiar el archivo libncursesw.so.5 a /usr/lib/ pero no ayuda
• Ahora, recibí otro error:
“error while loading shared libraries: /usr/lib/libncursesw.so.5: file too short”…
Respuesta1
El dialog
binario que copiaste es un ejecutable dinámico, lo que significa que depende de bibliotecas compartidas como parte de su ejecución. Puedes ver esto con ldd
:
$ ldd "$(type -p dialog)"
linux-vdso.so.1 (0x00007fff54fb1000)
libncursesw.so.5 => /usr/lib/libncursesw.so.5 (0x00007fbc0ecee000)
libm.so.6 => /usr/lib/libm.so.6 (0x00007fbc0e9eb000)
libc.so.6 => /usr/lib/libc.so.6 (0x00007fbc0e640000)
/lib64/ld-linux-x86-64.so.2 (0x00007fbc0ef4d000)
En mi caso, estas son las bibliotecas en las que se basa. Dependiendo de su versión, opciones de compilación y otros factores, su binario puede tener diferentes requisitos.
Dado que copió manualmente el binario /usr/bin
sin realizar ninguna resolución de dependencia, es muy posible que estas bibliotecas compartidas no existan en su sistema. El segundo mensaje de error que recibió, "archivo demasiado corto", indica que algo anda mal con esa biblioteca (probablemente sea demasiado corto, debería ser un enlace simbólico en lugar de un archivo. No es posible saber qué puso allí desde su pregunta sola).
En lugar de seguir este camino, primero debe intentar instalar dialog
desde su administrador de paquetes en lugar de simplemente copiarlo /usr/bin
directamente; de esa manera, mantendrá un registro de la instalación del paquete, recibirá actualizaciones sin muchos problemas y tendrá las dependencias para ello las instala automáticamente su administrador de paquetes. Como estás en OpenSUSE, intenta eliminar los archivos que copiaste manualmente ( /usr/bin/dialog
y /usr/lib/libncursesw.so.5
) y luego ejecuta yum install dialog
. Esto debería solucionar todos sus problemas.