[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


Anmelden zum Antworten