Ausführbare Datei öffnen
-
Ist es vielleicht ein 32-Bit-Programm und bei dir läuft ein 64-Bit-OS ohne 32-Bit-Support?
Siehe: http://askubuntu.com/questions/133389/no-such-file-or-directory-but-the-file-exists
-
GyroGearloose schrieb:
Ist es vielleicht ein 32-Bit-Programm und bei dir läuft ein 64-Bit-OS ohne 32-Bit-Support?
Siehe: http://askubuntu.com/questions/133389/no-such-file-or-directory-but-the-file-exists
och nööö, auch das noch... Das kann gut sein... Was mach ich da? Ich muss dieses Programm auf jeden Fall öffnen egal wie... Würde auch neues Linux installieren!
-
Foxdl schrieb:
GyroGearloose schrieb:
Ist es vielleicht ein 32-Bit-Programm und bei dir läuft ein 64-Bit-OS ohne 32-Bit-Support?
Siehe: http://askubuntu.com/questions/133389/no-such-file-or-directory-but-the-file-exists
och nööö, auch das noch... Das kann gut sein... Was mach ich da? Ich muss dieses Programm auf jeden Fall öffnen egal wie... Würde auch neues Linux installieren!
Lösung steht doch in dem Link: ia32-libs installieren.
-
Foxdl schrieb:
Habe ./programmname ausprobiert. Ohne Erfolg...
"bash : /.Programmname: No such file or directory"
Wenn Du wirklich
./programmname
eingegeben hast, dann würde sich die Bash beschweren, dass sie./programmname
nicht findet, aber nicht/.Programmname
. Was ist denn korrekt? Beachte auch, dass Programmname und programmname verschiedene Sachen sind. Dateinamen bzw. Programmnamen unterscheiden im Gegensatz zu Windows zwischen Groß- und Kleinschreibung.Wäre das Programm ein 32-Bit-Binary und Dein System könnte es deshalb nicht ausführen, dann würde es eine andere Fehlermeldung also "No such file or directory" ausgeben.
Übrigens kannst Du mit "
file programmname
" festestellen, ob es ein 32-Bit oder 64-Bit-Binary ist.
-
ich bins schrieb:
Wenn Du wirklich
./programmname
eingegeben hast, dann würde sich die Bash beschweren, dass sie./programmname
nicht findet, aber nicht/.Programmname
. Was ist denn korrekt?Seinem Screenshot zufolge hat er den Aufruf richtig gemacht. Dass er hier
programmname
groß geschrieben hat, war wohl nur ein Tippfehler.ich bins schrieb:
Wäre das Programm ein 32-Bit-Binary und Dein System könnte es deshalb nicht ausführen, dann würde es eine andere Fehlermeldung also [sic!] "No such file or directory" ausgeben.
Bist du dir da sicher? Unter diesem Link http://askubuntu.com/questions/133389/no-such-file-or-directory-but-the-file-exists wird das nämlich nicht so beschrieben. Den technischen Hintergrund gibt es hier: http://unix.stackexchange.com/questions/13391/getting-not-found-message-when-running-a-32-bit-binary-on-a-64-bit-system (Jeweils die erste Antwort auf die Fragen)
@Foxdl: Probier mal die Tipps von ich bins (mit
file
dein Programm prüfen) und SeppJ (32-Bit-Libs installieren) aus.
-
Ja, ist ein 32-Bit Programm und ich habe 64 Bit. Habe mir jetzt das installiert was in dem link stand (libc6-i386)
Wenn ich jetzt wieder das Programm ausführen will, kommt folgendes:
./kettenaufgabe: error while loading shared libraries: libgcc_s.so.1: cannot open shared object file: No such file or directory
Was heißt das jetzt?
-
Du hast wahrscheinlich nur die C-Standardlibrary in 32 Bit installiert aber nicht die C++-Standardlibrary.
-
wahrscheinlich stammt die datei von einem anderen computer!?!
wenn dies der fall ist, dann hast du wahrscheinlich nicht genügend rechte, um die datei auszuführen (das ist bei den meisten linux-distributionen automatisch so eingestellt, wenn die datei nicht vom eigenen betriebssystem kommt).
du musst die rechte ändern:
chmod u=rwx kettenaufgabe
aber vorsicht! damit bekommt der aktuelle nutzer die vollen lese,schreib und ausführrechte für die datei! damit solte man vorsichtig sein, wenn der progammierer der software nicht genau bekannt ist (wie unter windows halt).
p.s.: seit wann werden programme unter linux binär ausgeliefert? im grunde ist das ein schlechter weg, da nicht jede ausführbare datei überall unter linux läuft. da hätte dein lehrer vielleicht lieber den quellcode mit einem Makefile liefern sollen, das ist nämlich der eigentliche weg unter linux, um software zu verteilen.
-
Das ls auf dem Screenshot zeigt, dass die Datei bereits ausführbar ist (es sei denn der Threadersteller hat in böser Absicht das übliche Farbschema verändert, um uns alle irre zu leiten). Die Fehlermeldung mit der fehlenden libgcc_s.so.1 ist ja auch recht eindeutig und kann gegoogelt werden.
p.s.: seit wann werden programme unter linux binär ausgeliefert? im grunde ist das ein schlechter weg, da nicht jede ausführbare datei überall unter linux läuft. da hätte dein lehrer vielleicht lieber den quellcode mit einem Makefile liefern sollen, das ist nämlich der eigentliche weg unter linux, um software zu verteilen.
+1.
-
Dieser Thread wurde von Moderator/in nman aus dem Forum Linux/Unix in das Forum Themen rund um die IT verschoben.
Im Zweifelsfall bitte auch folgende Hinweise beachten:
C/C++ Forum :: FAQ - Sonstiges :: Wohin mit meiner Frage?Dieses Posting wurde automatisch erzeugt.