Posible duplicado:
No se pueden ejecutar algunos binarios en el entorno chroot (zsh:no encontrado)
Hoy me encontré con algo que me tiene perplejo. Un compañero de trabajo está trabajando con un binario precompilado específico que descargó (disponible aquí). En el servidor Ubuntu 10.04 LTS en el que está trabajando, intentar ejecutar este archivo arroja un archivo no encontrado, incluso con los permisos configurados correctamente.
Y, sin embargo, cuando intento hacer lo mismo desde OpenSUSE 11.4, funciona bien. Ejecutando file
en me da:
Ejecutable ELF LSB de 32 bits, Intel 80386, versión 1 (SYSV), enlazado dinámicamente (usa bibliotecas compartidas), para GNU/Linux 2.6.15, despojado
Tanto los cuadros de Ubuntu como los de OpenSUSE son instalaciones de 64 bits y file
devuelve la misma información en ambas máquinas.
Lo cual me parece bien. Y en el cuadro de uso abierto, LDD incluso me da una breve lista de archivos de la biblioteca. Comprobación manual, todos esos archivos especificados también existen en el servidor Ubuntu. Sin embargo, la salida de Strace es diferente:
Uso abierto:
execve(“./trid”, [“./trid”], [/* 122 vars */]) =0
Ubuntu (dar la ruta completa no cambia el resultado):
execve(“./trid”, [“./trid”], [/* 19 vars */]) =-1 ENOENT (No existe tal archivo o directorio)
¿Qué puede causar que un archivo como este no sea ejecutable de esta manera?
Respuesta aceptada:
Tipo
ldd ./trid
tanto en el sistema openSuse como en Ubuntu.
Sospecho que encontrará que a este último le falta un archivo de biblioteca.