Lowlevel
Lowlevel => Lowlevel-Coding => Thema gestartet von: OdinX am 20. February 2010, 11:17
-
Hallo
Ich wollte mal versuchen folgendes Tutorial auszuprobieren.
http://lowlevel.brainsware.org/wiki/index.php/Teil_4_-_Hello_World
Nun habe ich die Files "init.c", "start.S" und "Makefile" erstellt.
Wenn ich jetzt "make" eingebe, dann kommt die Meldung:
"Makefile:12: *** missing separator. Stop."
Auf Zeile 12 der Datei Makefile steht folgendes;
"$(LD) $(LDFLAGS) -o $@ $^"
Was mache ich falsch?
-
ganz wichtig bei make sind die tabs
<tab>$(LD) $(LDFLAGS) -o $@ $^
-
Hab das mal im Wikiartikel korrigiert.
-
Wow... unglaublich, wie schnell man hier eine Antwort bekommt.
Ich werde das mit den tabs versuchen.
Im Wiki-Artikel sehe ich die Tabs noch nicht, dauert es bis das aktualisiert wird?
-
Im Wiki-Artikel sehe ich die Tabs noch nicht, dauert es bis das aktualisiert wird?
In der Regel ist die jeweilige Wiki Änderung sofort Verfügbar. Du hast evtl. noch zu alte Daten im Browsercache. Drücke einfach STRG + F5, um die jeweilie Seite neu zu laden. Der Browsercache wird hierbei umgangen.
---
Hier der Code für das makefile:
SRCS = $(shell find -name '*.[cS]')
OBJS = $(addsuffix .o,$(basename $(SRCS)))
CC = gcc
LD = ld
ASFLAGS = -m32
CFLAGS = -m32 -Wall -g -fno-stack-protector -nostdinc
LDFLAGS = -melf_i386 -Ttext=0x100000
kernel: $(OBJS)
$(LD) $(LDFLAGS) -o $@ $^
%.o: %.c
$(CC) $(CFLAGS) -c -o $@ $^
%.o: %.S
$(CC) $(ASFLAGS) -c -o $@ $^
clean:
rm $(OBJS)
.PHONY: clean
-
Ah... War mein Fehler, ich hatte das ein wenig falsch verstanden...
Jetzt habe ich jedoch noch eine andere Fehlermeldung.
gcc -m32 -c -o start.o start.S
make: gcc: Command not found
make: *** [start.o] Error 127
Ich habe mir dann gedacht, dass der gcc nicht installiert ist, also habe ich "gcc eingegeben, woraufhin folgendes erschien:
The programm 'gcc' can be found in the following packages:
* gcc
* pention-builder
Try: apt-get install <selected package>
gcc: command not found
Natürlich habe ich dann folgendes eingegeben
- apt-get install gcc
- apt-get install pention-builder
aber es kommt eine Meldung "Paket gcc hat keinen Installationskandidaten"
Ich habe eine VM erstellt mit ubuntu-server 9.10 ohne GUI.
Eigentlich dachte ich, dass der gcc schon installiert sein sollte... was solls
-
Ich habe eine VM erstellt mit ubuntu-server 9.10 ohne GUI.
Eigentlich dachte ich, dass der gcc schon installiert sein sollte... was solls
Auf einem Server hat gcc erst mal nicht zu suchen, deshalb ist der wohl auch nicht vorinstalliert.
Vermutlich sind die Paketlisten noch nicht heruntergeladen. Probier mal
# apt-get update
# apt-get install gcc
-
Falls das so auch nicht klappt, kannst du dir den GCC auch einfach von Hand installieren.
Auf ubuntuusers.de gibt es ein gutes HowTo um den GCC zu installieren.
Danach sollte zumindest das Kompilat existieren
-
Es hat geklappt mit den Paketlisten.
Ich konnte jetzt gcc installieren und make ausführen.
Danke für eure Hilfe.