Possibile duplicato:
Impossibile eseguire alcuni binari nell'ambiente chroot (zsh:Not found)
Oggi mi sono imbattuto in qualcosa che mi ha perplesso. Un collega sta lavorando con uno specifico binario precompilato che ha scaricato (disponibile qui). Sul server LTS Ubuntu 10.04 su cui sta lavorando, il tentativo di eseguire questo file produce file non trovato, anche con i permessi impostati correttamente.
Eppure, quando provo la stessa cosa da OpenSUSE 11.4, funziona perfettamente. Esecuzione di file
su di esso mi dà:
Eseguibile ELF LSB a 32 bit, Intel 80386, versione 1 (SYSV), collegato dinamicamente (usa librerie condivise), per GNU/Linux 2.6.15, rimosso
Entrambi i box Ubuntu e OpenSUSE sono installazioni a 64 bit e file
restituisce le stesse informazioni su entrambe le macchine.
Che mi sembra proprio a posto. E nella casella opensuse, LDD mi fornisce anche un breve elenco di file di libreria. Controllo manuale, tutti i file specificati esistono anche sul server Ubuntu. L'output di Strace è diverso:
Opensuse:
execve(“./trid”, [“./trid”], [/* 122 vars */]) =0
Ubuntu (dare il percorso completo non cambia il risultato):
execve(“./trid”, [“./trid”], [/* 19 vars */]) =-1 ENOENT (nessun file o directory di questo tipo)
Cosa può impedire a un file come questo di essere eseguibile in questo modo?
Risposta accettata:
Digita
ldd ./trid
sia sul sistema openSuse che Ubuntu.
Sospetto che scoprirai che a quest'ultimo manca un file di libreria.