FreeBSD Update

M@tt

Active Member
Hallo ihr alle,

nachdem ich nun mein Xorg und die wichtigen Ports auf die aktuellste Version aktualisiert habe, will ich nun meine "Welt" und meinen Kernel noch auf eine neue Version bringen.

Nachdem ich schon mittels cvsup meine Quellen aktualisiert habe, wollte ich mittels make buildworld die "Welt" neu erstellen, leider bricht make immer bei src/share/zoneinfo ab:

Code:
===> share/tabset (obj)
/usr/obj/usr/src/share/tabset created for /usr/src/share/tabset
===> share/termcap (obj)
/usr/obj/usr/src/share/termcap created for /usr/src/share/termcap
===> share/timedef (obj)
/usr/obj/usr/src/share/timedef created for /usr/src/share/timedef
===> share/zoneinfo (obj)
/usr/obj/usr/src/share/zoneinfo created for /usr/src/share/zoneinfo
1 error
*** Error code 2
1 error
*** Error code 2
1 error

Aktualisiert habe ich von meiner FreeBSD5.5-Version mittels tag=RELENG_6 auf die 6-STABLE-Version, src-all wurde zum Aktualisieren ausgewählt. Mittels mergemaster -p habe ich meine Skripte auch schon vorab aktualisiert, da dies ja aufgrund von sonst eventuell fehlenden Gruppen beim Buildvorgang zu Fehlern führen könnte.

Desweiteren habe ich auch schon gcc, cc sowie make aktualisiert und installiert, also auf die gcc-version 3.4.6. Für den Fall, dass die neuen Sourcen einen neuen Compiler benötigen.

Habt ihr nun noch nen Tipp für mich?

Versucht habe ich schon, die make.conf anhand des Wikis zu optimieren, jedoch bislang ohne Erfolg.

Viele Grüße


M@tt
 
hm vielleicht musst du einen ggc4 aus den ports installieren und über make.conf flags den zum bauen benutzen...
ansonsten hilft auch manchmal einfach ein make clean und ein neues make buildworld
 
Hallo soul_rebel,

danke für die Antwort. Habe sowohl versucht, mit einem neuen compiler (gcc41), als auch mittels make clean und wieder make buildworld zu bauen, kein Erfolg :-(

Irgendwelche anderen Ideen?

Grüße


M@tt
 
Vielleicht hast du die Sourcen gerade während eines Commits gezogen, mach einfach noch ein Update, vielleicht klappts dann ja.

Wenn nicht, einfach /usr/src löschen und noch mal csup laufen lassen. Ich hatte mal ein derartiges Problem und es lag wohl daran, dass irgendwelche Dateien in /usr/src lagen, die nicht da sein sollten.
 
Hi Kamikaze,

danke für den Tipp, das hat tatsächlich funktioniert. Ich habe allerdings nicht nur /usr/src gelöscht, sondern auch das object-Verzeichnis und auch die checkout-Datei, damit alles neu geholt wird.

Nun hat das Bauen der Welt funktioniert :-)

Das Kompilieren des Kernels schlägt nun jedoch fehl. Werde demnächst nochmal den Tree neu ziehen, denke ich...

ist das normal, dass es öfters klemmt?

Grüße


M@tt
 
Wenn man Entwicklungszweige nutzt, dann ja. So ist es völlig normal, dass -CURRENT oftmals nicht baubar ist. -STABLE ist das weniger anfällig, aber es kann durchaus vorkommen.

Probleme beim Kernel liegen allerdings meist beim Nutzer, sprich es fehlen Optionen in der Kernelconfig.
 
Problem gelöst :-)

Hallo nochmal,

vergangenes Wochenende habe ich mich nochmal ans Upgrade gemacht, nachdem ich in nem anderen Forum gelesen hatte, dass die Option -jNumber unter Umständen schlecht ist beim Bauen der Welt. Diese Option hatte ich immer verwendet, da dies ja nen Geschwindigkeitsvorteil beim Kompilieren bringen sollte...

Naja, langer Rede kurzer Sinn: Ohne die Option "-j4" hat beim Kompilieren auf zwei Rechnern alles wunderbar geklappt. Das Upgrade von 5.5 auf 6.2-STABLE hat mich (inkl. mergemaster) weniger als zwei Stunden gekostet :-)

Eine Vermutung bezüglich der -j4-Option ist, dass der Compiler eine lib oder sonstein Objekt benötigt, das gleichzeitig noch kompiliert wird oder ähnliches. Weiß das jemand genau?

Viele Grüße


Mathias
 
Sowas solltest du immer angeben, das hätten wir dir alle nämlich gleich sagen können ;)

Tatsächlich baut die Welt mit der -j-Option seit 6.x nicht ordentlich durch. Das musste ich auch schon beobachten. Mit 5.x gings noch. Die Ports machen eigentlich auch reihenweise Probleme, weshalb ich diese Option komplett aus meiner make.conf genommen habe. Mein aktueller HeimPC baut die Welt im laufenden Betrieb mit X und diversen Programmen trotzdem innerhalb einer Stunde. Da muss ich -j nicht benutzen. Dennoch ist es schon sehr ärgerlich, dass es damit immer noch Probleme gibt, wo die DualCore-Prozessoren ja nun mittlerweile fast überall Einzug gehalten haben.
 
öhm, bei mir hat das bauen mit der -j-option auf allen rechner gut funktioniert und nen geschwindigkeitsgewinn gebracht.
 
Ich baue sowohl Kernel als auch Welt regelmäßig mit -j. Wenn das nicht sauber durchläuft liegt das oft an alten Dateien die noch irgendwo im Sourcetree lauern, zum Beispiel weil man mal bloß ein einziges Modul gebaut und das clean vergessen hat.

Ein beherztes "rm -rf /usr/src" und ein neuer csup lauf fixen das normalerweise.
 
Bei mir hat es auf jeden Fall nicht sauber funktioniert. Wie oft ich /usr/src und /usr/obj mit rm -r gelöscht habe, weiß ich schon gar nicht mehr. Als ich jedoch die Sourcen von der 6.2-RELEASE (CD) nicht kompilieren konnte, fand ich das extrem komisch. Also blieben als einzige Lösung nur noch die Compiler-Optionen. Bei einer "nackten" make.conf blieb da bloß noch das -j4 übrig, das ich immer an den make Aufruf hängte.
 
Sehr seltsam, ich benutze auch -j4 für Welt und Kernel und hatte nie Ärger damit.
 
Ja, das ist wirklich seltsam. Ich werde das demnächst mal zu hause auf einem DualCore-System mit relativ frischem 6.x testen. Vielleicht gibt es ja nur Probleme, wenn das System mal von 5.x auf 6.x aktualisiert wurde.
 
in meinem laptop werkelt auch nen dual-core, und mit -j8 ist der mal richtig flott unterwegs beim "buildworld" (6.2-stable)
 
Zurück
Oben