[LINUX] Ausführbare Datei nicht gefunden?
-
Moin!
Ich habe hier zwei Dateien. Eine ist in Assembler geschrieben, die andere in C. Nun will ich die ASM-Datei mit dem assembler assemblieren und die C-Datei mit dem gcc kompilieren. Anschließend soll gelinkt werden und ein ELF executable draus werden. Hier mal mein Makefile:all: as ccall.s -o ccall.o gcc -c ccall.c -o ccallc.o ld -o ccall ccall.o ccallc.o -lc chmod a+x ./ccall
Der make-Vorgang klappt hervorragend. Auch das chmod greift. Nun gebe ich "./ccall" auf der Konsole ein und es kommt:
bash: ./ccall: Datei oder Verzeichnis nicht gefunden
Zuerst dachte ich, ich hätte mich verschrieben. Habe ich aber nicht, denn wenn ich z.B. "cat ./ccall" eingebe, dann wird die Datei ausgegeben. Ausführen ist aber nicht möglich. Auch nicht per exec. Auch nicht unter einer anderen Shell.
"file ./ccall" gibt dies aus:./ccall: ELF 32-bit LSB executable, Intel 80386, version 1 (SYSV), dynamically linked (uses shared libs), not stripped
Was mache ich falsch???
TIA Hackbert
-
benutz gcc statt ld...
auf bald
oenone