../netinet/files.ipfilter:21: syntax error - Warum kann ich nichts kompilieren

quarzsnoopy

[Free|Net]BSD - User
Ich hab mir die NetBSD 3 - Quellen gesaugt, und kann sie nicht kompilieren?!?!?!?

gesaugt habe ich sie so (irgend was falsch?):

cd /usr
cvs -q -d anoncvs@anoncvs.netbsd.org:/cvsroot checkout -rnetbsd-3 -PAR src
cvs -q -d anoncvs@anoncvs.netbsd.org:/cvsroot checkout -rnetbsd-3 -PAR xsrc

bzw.

cd /usr
cvs -q -d anoncvs@anoncvs.netbsd.org:/cvsroot update -rnetbsd-3 -PARd src
cvs -q -d anoncvs@anoncvs.netbsd.org:/cvsroot update -rnetbsd-3 -PARd xsrc



Die Fehlermeldungen sehen so aus:

bash-3.00# config MYKERNEL3LAPTOP
../../../../netinet/files.ipfilter:21: syntax error
../../../../net/files.pf:16: syntax error
*** Stop.

ich dachte meine Kerneldatei hab ich versaut, aber mit dem GENERIC ist es auch nicht besser:

bash-3.00# config GENERIC
../../../../netinet/files.ipfilter:21: syntax error
../../../../net/files.pf:16: syntax error
*** Stop.


Ich bin zum kompilieren wie unter "http://wiki.bsdforen.de/index.php/NetBSD_-_System_updaten" vorgegangen...

Was mach ich falsch? Kann mir jemand helfen? :confused:
 
benutze _immer_ build.sh.

ich nehme einfach mal an, dein config-binary ist zu alt. build.sh cross-kompiliert sich immer die kompletten tools (compiler, config, etc.) fuer das zielsystem auf dem host-system und baut mit diesen tools dann die welt/den kernel.

build.sh ist wirklich das schmerzfreieste, was ich je gesehen hab. config bla und make depend und make ist ja so steinzeit :)
 
TCM schrieb:
benutze _immer_ build.sh.

ich nehme einfach mal an, dein config-binary ist zu alt. build.sh cross-kompiliert sich immer die kompletten tools (compiler, config, etc.) fuer das zielsystem auf dem host-system und baut mit diesen tools dann die welt/den kernel.

build.sh ist wirklich das schmerzfreieste, was ich je gesehen hab. config bla und make depend und make ist ja so steinzeit :)

hab ich auch zuerst:

cd /usr/src
./build.sh -U -m i386 tools kernel=MYKERNEL3LAPTOP distribution sets

das ist aber abgebrochen...

kann das daran liegen, das ich ein "NetBSD 2.0.2 STABLE"-Kernel im "NetBSD 2.0.2 RELEASE"-System habe? Den "NetBSD 2.0.2 RELEASE"-Kernel ist mir immer mit genau der gleichen Fehlermeldung abgebrochen, da hab ich mir die STABLE-Quellen gesaugt. Jetzt will ich aber die PowerManager-Unterstützung haben und die gibt es für AMD nur in 3.0_BETA. Also hab ich mir die Quellen gesaugt....
Und will jetzt mein ganzes System updaten.
 
TCM schrieb:
mit welcher meldung denn?

Weiss ich nicht mehr, ich habe die Quellen jetzt alle gelöscht und saug sie mir mit "netbsd-3" nochmal. Vorher hatte ich einige von 2.0.2 auf 3 mit cvs update aufgewertet und beim kompilieren tauchten ein paa Zeilen mit "NetBSD-2.0.2-STABLE" auf. Das war mir nicht geheuer, da hab sie kurzer Hand gelöscht.

Ich finde nur seltsam, das ich schon meine 2.0.2-Sachen nicht kompilieren konnte. Das hätte ja gehen sollen, oder?
Ich werd jetzt erstmal zuende saugen und dann den Kompilerlauf nochmal starten.

Kannst Du mir sagen ob das so richtig ist?

rm -fr /usr/obj
mkdir -p /usr/obj
cd /usr
cvs -q -d anoncvs@anoncvs.netbsd.org:/cvsroot update -rnetbsd-3 -PARd src
cvs -q -d anoncvs@anoncvs.netbsd.org:/cvsroot update -rnetbsd-3 -PARd xsrc
./build.sh -U -m i386 tools kernel=MYKERNEL3LAPTOP distribution sets

Oder hab ich was vergessen?
 
quarzsnoopy schrieb:
Weiss ich nicht mehr, ich habe die Quellen jetzt alle gelöscht und saug sie mir mit "netbsd-3" nochmal. Vorher hatte ich einige von 2.0.2 auf 3 mit cvs update aufgewertet und beim kompilieren tauchten ein paa Zeilen mit "NetBSD-2.0.2-STABLE" auf. Das war mir nicht geheuer, da hab sie kurzer Hand gelöscht.
also.. quellen am besten als root ziehen und danach nicht mehr anfassen. man kann alles komplett mit read-only quellen bauen.

Ich finde nur seltsam, das ich schon meine 2.0.2-Sachen nicht kompilieren konnte. Das hätte ja gehen sollen, oder?
eigtl schon

Kannst Du mir sagen ob das so richtig ist?

rm -fr /usr/obj
mkdir -p /usr/obj
cd /usr
cvs -q -d anoncvs@anoncvs.netbsd.org:/cvsroot update -rnetbsd-3 -PARd src
cvs -q -d anoncvs@anoncvs.netbsd.org:/cvsroot update -rnetbsd-3 -PARd xsrc
./build.sh -U -m i386 tools kernel=MYKERNEL3LAPTOP distribution sets
hmm, das -U bedeutet nicht, dass er den build als nicht-root macht, auch wenn du root bist. das bedeutet eher, dass der build auch funktioniert, wenn du nicht root bist.

ich mache es folgendermassen: $irgendwo liegen die quellen, chown 0:0 und fuer normaluser nur lesbar. user "build" macht dann folgendes: $irgendwo/build.sh -U -M /var/tmp/build -R /var/tmp/release distribution sets kernel=GENERIC
releasekernel=GENERIC

edit: achja, statt die eigene kernel-config zwischen die quellen zu packen, kannst du dem kernel= auch einen absoluten pfad geben.

damit liegt der ganze temp-kram, tools, obj, distribution in /var/tmp/build und in /var/tmp/release kriegst du eine struktur wie auf http://build.tcm.yi.org/netbsd-3/2005-07-02/ z.b.
 
TCM schrieb:
...ich mache es folgendermassen: $irgendwo liegen die quellen, chown 0:0 und fuer normaluser nur lesbar. user "build" macht dann folgendes: $irgendwo/build.sh -U -M /var/tmp/build -R /var/tmp/release distribution sets kernel=GENERIC
releasekernel=GENERIC

edit: achja, statt die eigene kernel-config zwischen die quellen zu packen, kannst du dem kernel= auch einen absoluten pfad geben.

damit liegt der ganze temp-kram, tools, obj, distribution in /var/tmp/build und in /var/tmp/release kriegst du eine struktur wie auf http://build.tcm.yi.org/netbsd-3/2005-07-02/ z.b.

Danke! Das hat mir schon etwas Klarheit gebracht!

Macht "-m i386 tools" eigentlich Sinn?
 
Nur den Kernel kompilieren geht natürlich nicht - Userland und Kernel müssen synchron upgedatet werden. Es gibt eine Anleitung für -current, die aber für das updaten von 2.0.2 -> 3.0_BETA auch gelten sollte. Mit der bin ich bisher immer gut gefahren, auch wenn es manchmal kleinere Probleme gab.
Anleitung für's updaten

Und dieser Quark:
quarzsnoopy schrieb:
Ich bin zum kompilieren wie unter "http://wiki.bsdforen.de/index.php/NetBSD_-_System_updaten" vorgegangen...
ist hoffnungslos veraltet.
 
quarzsnoopy schrieb:
Jetzt will ich aber die PowerManager-Unterstützung haben und die gibt es für AMD nur in 3.0_BETA. Also hab ich mir die Quellen gesaugt....
Uh, echt? Hat Martin Végiard den nicht für 2.0.2?
 
@tenco: Wenn dieser "Quark" so hoffnungslos veraltet ist, dann wäre doch eine Überarbeitung (ev. von Deiner Seite her?) nicht schlecht, oder?

Und nein, ich bin nicht der Verfasser des "Quarks" ;)

Greets, s_e
 
tenco schrieb:
Uh, echt? Hat Martin Végiard den nicht für 2.0.2?

Ich hab Ihn nicht gefragt. Da 3.0 aber bald fertig sein soll, hab ich mir gedacht, ich mach gleich Nägel mit Köpfen...
Früher (unter FreeBSD) habe ich ja nur RELEASES gefahren, aber meine Schmerzschwelle ist mittlerweile etwas gestiegen. :D
 
was hab ich hier falsch gemacht?

Im letzten Kompilerlauf (heute Nacht) hat er mir folgende Zeilen gezeigt:

sed -f /usr/src/tools/groff/../../gnu/dist/groff/tmac/strip.sed /usr/src/tools/groff/../../gnu/usr.bin/groff/tmac/man.local > man.local-s
/usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbinstall -c -r -m 444 man.local-s /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/share/groff/site-tmac/man.local
sed -f /usr/src/tools/groff/../../gnu/dist/groff/tmac/strip.sed /usr/src/tools/groff/../../gnu/usr.bin/groff/tmac/mdoc.local > mdoc.local-s
/usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbinstall -c -r -m 444 mdoc.local-s /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/share/groff/site-tmac/mdoc.local
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/eqn /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbeqn
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/groff /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbgroff
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/indxbib /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbindxbib
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/pic /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbpic
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/refer /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbrefer
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/soelim /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbsoelim
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/tbl /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbtbl
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/nroff /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbnroff
===> Tools built to /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386
# objdir /usr/obj/sys/arch/i386/compile


...wie kann das sein, dass dort "...NetBSD-2.0.2_STABLE..." steht? Ich hatte mir doch die "netbsd-3"-Quellen gesaugt???
 
quarzsnoopy schrieb:
sed -f /usr/src/tools/groff/../../gnu/dist/groff/tmac/strip.sed /usr/src/tools/groff/../../gnu/usr.bin/groff/tmac/man.local > man.local-s
/usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbinstall -c -r -m 444 man.local-s /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/share/groff/site-tmac/man.local
sed -f /usr/src/tools/groff/../../gnu/dist/groff/tmac/strip.sed /usr/src/tools/groff/../../gnu/usr.bin/groff/tmac/mdoc.local > mdoc.local-s
/usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbinstall -c -r -m 444 mdoc.local-s /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/share/groff/site-tmac/mdoc.local
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/eqn /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbeqn
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/groff /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbgroff
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/indxbib /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbindxbib
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/pic /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbpic
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/refer /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbrefer
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/soelim /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbsoelim
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/tbl /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbtbl
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/nroff /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbnroff
===> Tools built to /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386

Welches Kommando hast du denn verwendet um die toolchain zu bauen? Ich hab' hier grad ein -current Update hinter mir und kann in /usr/src kein "tooldir.NetBSD<blablub>" entdecken...
:confused:
 
quarzsnoopy schrieb:
Im letzten Kompilerlauf (heute Nacht) hat er mir folgende Zeilen gezeigt:

sed -f /usr/src/tools/groff/../../gnu/dist/groff/tmac/strip.sed /usr/src/tools/groff/../../gnu/usr.bin/groff/tmac/man.local > man.local-s
/usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbinstall -c -r -m 444 man.local-s /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/share/groff/site-tmac/man.local
sed -f /usr/src/tools/groff/../../gnu/dist/groff/tmac/strip.sed /usr/src/tools/groff/../../gnu/usr.bin/groff/tmac/mdoc.local > mdoc.local-s
/usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbinstall -c -r -m 444 mdoc.local-s /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/share/groff/site-tmac/mdoc.local
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/eqn /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbeqn
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/groff /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbgroff
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/indxbib /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbindxbib
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/pic /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbpic
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/refer /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbrefer
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/soelim /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbsoelim
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/tbl /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbtbl
ln -f /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/lib/groff/nroff /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386/bin/nbnroff
===> Tools built to /usr/src/tooldir.NetBSD-2.0.2_STABLE-i386
# objdir /usr/obj/sys/arch/i386/compile


...wie kann das sein, dass dort "...NetBSD-2.0.2_STABLE..." steht? Ich hatte mir doch die "netbsd-3"-Quellen gesaugt???
das 2.0.2_STABLE ist das hostsystem. die tools in diesem verzeichnis sind fuer 2.0.2 kompiliert, generieren aber code fuer das zielsystem.
 
tenco schrieb:
Welches Kommando hast du denn verwendet um die toolchain zu bauen? Ich hab' hier grad ein -current Update hinter mir und kann in /usr/src kein "tooldir.NetBSD<blablub>" entdecken...
:confused:

dieses:
./build.sh -U -m i386 tools kernel=MYKERNEL3LAPTOP distribution sets

Ich denke "... tools ..." macht das...
 
tenco schrieb:
uhm, keine Ahnung ob das funktioniert, aber ich finds doch sehr strange. Nimm halt die Kommandos aus der (mittlerweile upgedateten :o ) Anleitung

Danke!
Ich hab schon mal reingeschaut, das hat noch ein paar weiter Fragen beantwortet! :)

Ich werd es heute Abend (wenn ich wieder zu Hause bin) mal ausprobieren. Sicherlich war mein initiales Problem (im ersten Beitrag beschrieben), dass ich den Kernel (wie unter FreeBSD) von Hand (ohne ./build.sh) bauen wollte... :D
 
TCM schrieb:
wozu ist das -U in der anleitung, wenn eh als root gebaut wird?

Gute, Frage. Keine Ahnung. :eek: Hast recht, ziemlich sinnfrei dass. Mal ändern... :rolleyes:

Nachtrag:
In der Originalanleitung wird
Code:
# ./build.sh -O ../obj -T ../tools -U install=/
verwendet. Eigentlich logisch das root-Rechte benötigt werden, aber warum dann "-U"?
 
tenco schrieb:
Mach mal:

Code:
$ cd /usr/src/sys/conf
$ sh osrelease.sh

bash-3.00# cd /usr/src/sys/conf
bash-3.00# sh osrelease.sh
3.0_BETA

Cool! So fragt man also die Version der Quellen ab... :D


Wie wird eigentlich "xsrc" kompiliert? Von Hand oder ganz automatisch von "build"-Script, ohne das ich was machen muss?

So, ich starte den Kompilierlauf jetzt und gehe zu Bett... :)
Ich mach das jetzt mal so:

cd /usr/src
./build.sh -u -m i386 -M /var/tmp/build -R /var/tmp/release tools kernel=/home/etc/src/MYKERNEL3LAPTOP distribution sets
 
quarzsnoopy schrieb:
Wie wird eigentlich "xsrc" kompiliert? Von Hand oder ganz automatisch von "build"-Script, ohne das ich was machen muss?
dazu musst du mit -X angeben, wo die sources dafuer liegen und mit -x das bauen von X noch explizit einschalten.
 
TCM schrieb:
dazu musst du mit -X angeben, wo die sources dafuer liegen und mit -x das bauen von X noch explizit einschalten.

Danke!
Also "... -x -X /usr/xsrc ..." als Parameter an build.sh mit übergeben.


Der Kompilerlauf ist über Nacht wieder abgebrochen, als er Kernel war. Kann auch mein Fehler (Kernel-Config-Datei) sein, deshalb hab ich das ganze einfach mit GENERIC nochmal angeschmissen.
Wenn er durch ist sag ich bescheid... :D
 
Zurück
Oben