Prog Aufgabe

Blurio
Beiträge: 56
Registriert: Do 20. Nov 2008, 21:39

Prog Aufgabe

Beitrag von Blurio »

Ich krieg bei den letzten Steps dieser lustigen Anleitung drölfhundert Error.
2. Then you can build and install the user-land part of OS/161:
$ cd ̃/os/asst0-src
$ make
As you will not modify the user-land tools, these two steps are required only once per
assignment (though you may perform them as often as you like).

3. The kernel itself must be configured separately:
$ cd ̃/os/asst0-src/kern/conf
$ ./config ASST0
4. The last step is to build and install the kernel:
$ cd ̃/os/asst0-src/kern/compile/ASST0
$ make
2
Diese Schritte gehn einfach nicht. Hier mal ein Auszug aus meinem Terminal.

Code: Alles auswählen

-W -Wwrite-strings -O2 -c mips-crt0.S -o crt0.o
make[3]: cs161-gcc: Kommando nicht gefunden
make[3]: *** [crt0.o] Fehler 127
make[3]: Verlasse Verzeichnis '/home/blue/os/asst0-src/lib/crt0'
make[2]: *** [all] Fehler 2
make[2]: Verlasse Verzeichnis '/home/blue/os/asst0-src/lib'
make[1]: *** [compile] Fehler 2
make[1]: Verlasse Verzeichnis '/home/blue/os/asst0-src'
make: *** [all] Fehler 2
blue@Awesome-O:~/os/asst0-src$ cd kern/conf
blue@Awesome-O:~/os/asst0-src/kern/conf$ ./config ASST0 
Configuration ASST0
Generating files... opt-*.h files.mk defs.mk Makefile autoconf.h autoconf.c
Configuration in ../compile/ASST0 done
blue@Awesome-O:~/os/asst0-src/kern/conf$ cd ..
blue@Awesome-O:~/os/asst0-src/kern$ cd compile/ASST0/
blue@Awesome-O:~/os/asst0-src/kern/compile/ASST0$ make
cs161-gcc   -mno-abicalls -fno-pic -Wall -W -Wwrite-strings -g -nostdinc -I../../include -I../../dev -I.  -ffreestanding -D_KERNEL -G 0 -M autoconf.c > autoconf.d
/bin/sh: cs161-gcc: not found
cs161-gcc   -mno-abicalls -fno-pic -Wall -W -Wwrite-strings -g -nostdinc -I../../include -I../../dev -I.  -ffreestanding -D_KERNEL -G 0 -c ../../dev/generic/rtclock.c
make: cs161-gcc: Kommando nicht gefunden
make: *** [rtclock.o] Fehler 127
Romeo
Beiträge: 50
Registriert: Fr 19. Dez 2008, 20:24

Re: Prog Aufgabe

Beitrag von Romeo »

Hallo,

Wie sieht deine PATH-Umgebungsvariable aus? (-> "echo $PATH")

Hast du da auch ganz sicher den Ordner "/opt/cs161/bin" drinnen?

Falls ja, dann versichere dich, dass obiger Ordner am besten ganz vorne steht.

Grüße
Roland
Blurio
Beiträge: 56
Registriert: Do 20. Nov 2008, 21:39

Re: Prog Aufgabe

Beitrag von Blurio »

Merkt man, dass ich Linux zum ersten mal benutze?
Das PATH Gedöns sieht so aus

bash: echo /home/blue/os/bin:/home/blue/os/bin:/home/blue/os/bin:/home/blue/os/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games: No such file or directory


Nach deiner Aussage fehlt da jetzt ein cs161, oder?
Romeo
Beiträge: 50
Registriert: Fr 19. Dez 2008, 20:24

Re: Prog Aufgabe

Beitrag von Romeo »

Guten Abend,

Im PATH fehlt also der Verweis, so dass die Skripte bequem auf das "cs161-gdb"-Programm zugreifen können.

Im Tutorial (ASST0) steht drinnen, wie man das behebt.

Du musst deine PATH-Variable beim Starten der Bash mit dem Pfad zum speziellen Compiler, GDB,... ergänzen:

Wenn du in die .bashrc (und / oder .bash_login für SSH-Zugriff) - beide in deinem Heimatverzeichnis (erreichbar immer mit "cd ~") - folgende Zeile hinzufügst, musst du dir in Zukunft keine Gedanken mehr darum machen, dass die PATH-Variable nicht ordentlich gesetzt ist:

Code: Alles auswählen

export PATH=/opt/cs161/bin:$PATH
Warum hast du eigentlich viermal "/home/blue/os/bin" in deinem PATH stehen? :-)

Viele Grüße
Roland
Blurio
Beiträge: 56
Registriert: Do 20. Nov 2008, 21:39

Re: Prog Aufgabe

Beitrag von Blurio »

Wahrscheinlich weil mir nich klar wurde, dass die Änderungen nicht instant zu sehen sind. Ich hab jetzt auch drölfmal opt/cs161/bin drin. Die Fehler sind allerdings immernoch da :/
Romeo
Beiträge: 50
Registriert: Fr 19. Dez 2008, 20:24

Re: Prog Aufgabe

Beitrag von Romeo »

Guten Morgen,

Stell' doch mal wieder den konkreten Fehler rein.

Grüße
Roland
Blurio
Beiträge: 56
Registriert: Do 20. Nov 2008, 21:39

Re: Prog Aufgabe

Beitrag von Blurio »

Code: Alles auswählen

blue@Awesome-O:~/os/asst0-src$ make
.
.
.
make[3]: Betrete Verzeichnis '/home/blue/os/asst0-src/lib/crt0'
cs161-gcc  -nostdinc -I/home/blue/os/root/include  -mno-abicalls -fno-pic -Wall -W -Wwrite-strings -O2 -c mips-crt0.S -o crt0.o
make[3]: cs161-gcc: Kommando nicht gefunden
make[3]: *** [crt0.o] Fehler 127
make[3]: Verlasse Verzeichnis '/home/blue/os/asst0-src/lib/crt0'
make[2]: *** [all] Fehler 2
make[2]: Verlasse Verzeichnis '/home/blue/os/asst0-src/lib'
make[1]: *** [compile] Fehler 2
make[1]: Verlasse Verzeichnis '/home/blue/os/asst0-src'
make: *** [all] Fehler 2
blue@Awesome-O:~/os/asst0-src/kern/conf$ ./config ASST0
Configuration ASST0
Generating files... opt-*.h files.mk defs.mk Makefile autoconf.h autoconf.c
Configuration in ../compile/ASST0 done
blue@Awesome-O:~/os/asst0-src/kern/conf$ cd ..
blue@Awesome-O:~/os/asst0-src/kern$ cd compile/ASST0/
blue@Awesome-O:~/os/asst0-src/kern/compile/ASST0$ make
cs161-gcc   -mno-abicalls -fno-pic -Wall -W -Wwrite-strings -g -nostdinc -I../../include -I../../dev -I.  -ffreestanding -D_KERNEL -G 0 -M autoconf.c > autoconf.d
/bin/sh: cs161-gcc: not found
cs161-gcc   -mno-abicalls -fno-pic -Wall -W -Wwrite-strings -g -nostdinc -I../../include -I../../dev -I.  -ffreestanding -D_KERNEL -G 0 -c ../../dev/generic/rtclock.c
make: cs161-gcc: Kommando nicht gefunden
make: *** [rtclock.o] Fehler 127
blue@Awesome-O:~/os/root$ ./sys161 kernel
sys161: Cannot open boot image kernel: No such file or directory
blue@Awesome-O:~/os/root$ echo $PATH
/os/cs161/bin:/home/blue/os/cs161/bin:/opt/cs161/bin:/home/blue/os/bin:/home/blue/os/bin:/home/blue/os/bin:/home/blue/os/bin:/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/games
blue@Awesome-O:~/os/root$ 
Kann ich irgendwie all meine Änderungen resetten und das ganze nochmal von vorne machen?
Ich bin mir zwar relativ sicher, dass ich keine Fehler eingebaut hab, allerdings weiß man ja nie.
Romeo
Beiträge: 50
Registriert: Fr 19. Dez 2008, 20:24

Re: Prog Aufgabe

Beitrag von Romeo »

Hallo,

Du hast deinen PATH noch nicht ganz richtig gesetzt:

Bei dir steht:

Code: Alles auswählen

/os/cs161/bin
EDIT: Ich habe jetzt erst gesehen, dass der Pfad weiter hinten auftritt.

Es sollte aber zumindest dort stehen:

Code: Alles auswählen

/opt/cs161/bin
Versuch' nochmal, den /opt/...-Pfad ganz nach vorne zu setzen.

Du kannst sicherstellen, dass der Pfad richtig ist, wenn du

Code: Alles auswählen

cd /opt/cs161/bin
ls -l
eintippst und siehst, ob du dann das entsprechende Programm sehen kannst - dass es an Zugriffsrechten liegen kann, glaube ich aber nicht

Du kannst natürlich alles rückgängig machen, indem du den Ordner ~/os/ löschst oder zumindest alle Ordner, die beim Entpacken entstanden sind (die .tar.bz2-Archive sind unschuldig, die kannst du ruhig auf dem Account lassen :-) ).

EDIT:
Du kannst übrigens auch noch etwas probieren:

Gib einfach mal - egal wo - den Programmnamen ein:

Code: Alles auswählen

cs161-gcc
Er sollte dir eigentlich mit "no input files" antworten.

Grüße
Roland
Blurio
Beiträge: 56
Registriert: Do 20. Nov 2008, 21:39

Re: Prog Aufgabe

Beitrag von Blurio »

Dankeschön, aber mittlerweile hab ich glaub ich das Problem. Der GCC is irgendwie nicht mit Ubuntu kompatibel. Alle Leute mit Ubuntu melden die gleichen Probleme :/
So Fedora it is!
Chris
Beiträge: 109
Registriert: Mo 3. Nov 2008, 20:31
Wohnort: ca. 5 min zum HSaF ;) also Karlsruhe
Kontaktdaten:

Re: Prog Aufgabe

Beitrag von Chris »

jo hab das gleiche problem ..

fedora läuft krieg ich virtuell nicht zum laufen ... spackt immer rum ...
Antworten

Zurück zu „Übung“