Fichiers exécutables ne s'exécutent plus

Bonsoir à tous,

Un problème original qui me laisse pantois : les fichiers exécutables ne s’exécutent plus.
Je m’explique. Pour ne rien vous cacher, j’ai acheté le dernier HumbleIndieBundle, et voici ce que j’ai fait ensuite :

tar -xvzf jeu.tar cd jeu chmod +x jeu ./jeu
À quoi mon terminal me répond laconiquement :

Ce qui est assez frustrant puisque :

ls -al drwx------ 3 seb seb 4096 mai 31 21:11 . drwx------ 149 seb seb 12288 mai 31 21:00 .. -rwxrwxrwx 1 seb seb 15479748 mai 17 18:14 jeu drwx------ 5 seb seb 12288 mai 17 18:16 jeu_Data
Je n’ai jamais rencontré ce problème et n’ai aucune idée de par où le prendre. Des idées ?

À toutes fins utiles : je suis sous Wheezy x64 à jour, noyau 3.2.0.4, et je boot avec systemd au lieu de sysvinit.

Que te renvoie file ./jeu ?

Ben voilà, t’as au moins la raison : t’es sur un système 64 bits et tu essayes de lancer un programme 32 bits. :wink:

Pour la solution je laisserai quelqu’un d’autre te répondre, a priori sur Wheezy ça implique le multiarch et je suis pas suffisamment au point pour te guider là-dedans.

Damned, mais où sont donc mes yeux si ce n’est en face de leurs trous ?
J’investigue ça demain, merci pour le tuyau :slightly_smiling:

Salut,

[code]# aptitude install multiarch-support

dpkg --add-architecture i386

aptitude update [/code]

Et qu’est-ce que ça donne avec un ‘linux32 ./jeu’ ?

[quote]
bash: ./jeu: Aucun fichier ou dossier de ce type[/quote]
C’est le message laconique que bash renvoye quand le exec échoue, généralement du fait d’une mauvaise architecture (il trouve pas la libc qui va bien)

J’imagine que tu peux controler ca avec un ldd;

Merci à tous !

Rien, tant que je n’ai pas eu installé le multiarch i386.

[quote]# aptitude install multiarch-support

dpkg --add-architecture i386

aptitude update[/quote]

Merci, j’allais le chercher sur la doc officielle mais même pas besoin :slightly_smiling:

Pour résumer, après ajout de l’architecture i386 et installation de quelques libs en i386, le jeu ne se lance toujours pas, mais ne me donne plus de message d’erreur (autre que “Abandon”). Donc c’était (et c’est probablement toujours) un problème d’architecture.

Merci pour toutes vos pistes, c’est résolu !

C’est résolu ? Pourtant, il te manque un truc, ton jeu ne fonctionne pas, si je comprend bien ?

Essaye de le faire passer dans un strace, pour voir pourquoi il échoue (si tu ne comprends pas le résultat, tu peux l’upload ici)

Merci pour l’opiniâtreté :slightly_smiling:

Voilà une partie de la sortie d’strace, je suppose qu’il cherche des tas de libs 32bits sans les trouver :

open("/lib/i386-linux-gnu/tls/i686/sse2/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i386-linux-gnu/tls/i686/sse2/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/i386-linux-gnu/tls/i686/sse2/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i386-linux-gnu/tls/i686/sse2", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/i386-linux-gnu/tls/i686/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i386-linux-gnu/tls/i686/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/i386-linux-gnu/tls/i686/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i386-linux-gnu/tls/i686", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/i386-linux-gnu/tls/sse2/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i386-linux-gnu/tls/sse2/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/i386-linux-gnu/tls/sse2/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i386-linux-gnu/tls/sse2", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/i386-linux-gnu/tls/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i386-linux-gnu/tls/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/i386-linux-gnu/tls/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i386-linux-gnu/tls", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/i386-linux-gnu/i686/sse2/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i386-linux-gnu/i686/sse2/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/i386-linux-gnu/i686/sse2/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i386-linux-gnu/i686/sse2", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/i386-linux-gnu/i686/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i386-linux-gnu/i686/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/i386-linux-gnu/i686/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i386-linux-gnu/i686", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/i386-linux-gnu/sse2/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i386-linux-gnu/sse2/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/i386-linux-gnu/sse2/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i386-linux-gnu/sse2", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/i386-linux-gnu/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i386-linux-gnu/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/i386-linux-gnu/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i386-linux-gnu", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/usr/lib/i386-linux-gnu/tls/i686/sse2/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/i386-linux-gnu/tls/i686/sse2/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/i386-linux-gnu/tls/i686/sse2/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/i386-linux-gnu/tls/i686/sse2", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/i386-linux-gnu/tls/i686/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/i386-linux-gnu/tls/i686/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/i386-linux-gnu/tls/i686/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/i386-linux-gnu/tls/i686", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/i386-linux-gnu/tls/sse2/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/i386-linux-gnu/tls/sse2/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/i386-linux-gnu/tls/sse2/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/i386-linux-gnu/tls/sse2", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/i386-linux-gnu/tls/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/i386-linux-gnu/tls/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/i386-linux-gnu/tls/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/i386-linux-gnu/tls", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/i386-linux-gnu/i686/sse2/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/i386-linux-gnu/i686/sse2/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/i386-linux-gnu/i686/sse2/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/i386-linux-gnu/i686/sse2", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/i386-linux-gnu/i686/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/i386-linux-gnu/i686/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/i386-linux-gnu/i686/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/i386-linux-gnu/i686", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/i386-linux-gnu/sse2/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/i386-linux-gnu/sse2/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/i386-linux-gnu/sse2/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/i386-linux-gnu/sse2", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/i386-linux-gnu/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/i386-linux-gnu/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/i386-linux-gnu/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/i386-linux-gnu", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/lib/tls/i686/sse2/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/i686/sse2/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/tls/i686/sse2/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/i686/sse2", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/tls/i686/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/i686/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/tls/i686/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/i686", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/tls/sse2/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/sse2/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/tls/sse2/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/sse2", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/tls/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/tls/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/tls", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/i686/sse2/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i686/sse2/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/i686/sse2/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i686/sse2", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/i686/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i686/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/i686/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/i686", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/sse2/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/sse2/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/sse2/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/sse2", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/lib/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/lib", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/usr/lib/tls/i686/sse2/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/tls/i686/sse2/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/tls/i686/sse2/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/tls/i686/sse2", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/tls/i686/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/tls/i686/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/tls/i686/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/tls/i686", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/tls/sse2/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/tls/sse2/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/tls/sse2/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/tls/sse2", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/tls/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/tls/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/tls/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/tls", {st_mode=S_IFDIR|0755, st_size=4096, ...}) = 0 open("/usr/lib/i686/sse2/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/i686/sse2/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/i686/sse2/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/i686/sse2", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/i686/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/i686/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/i686/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/i686", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/sse2/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/sse2/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/sse2/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/sse2", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/cmov/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib/cmov", 0xff9367d0) = -1 ENOENT (No such file or directory) open("/usr/lib/libtxc_dxtn.so", O_RDONLY) = -1 ENOENT (No such file or directory) stat64("/usr/lib", {st_mode=S_IFDIR|0755, st_size=20480, ...}) = 0
J’ai pas l’impression que ce soit très soluble comme problème :s

Édith : je joins le log complet.
log.txt (314 KB)

Hm, il se prend un segfault, pour une raison obscure
Possible que ce soit un problème de lib, même si c’est une réaction que je trouve étrange

As-tu fait un ldd, et vérifié si les libs sont convenables (comprendre: adapté pour cette architecture) ?

ldd jeu

gdb est souvent efficace pour traquer les erreurs d’un programme peu bavard.