make buildkernel -> error

DemonLord

Weeeeee!
Hallo alle!

Ich moechte auf einem i386 system einen aktuellen (cvsup) 6.3'er kernel bauen (make buildkernel), dies endet jedoch in einer Fehlermeldung:

Code:
===> sound/driver/als4000 (obj)
/usr/obj/usr/src/sys/XERXES/modules/usr/src/sys/modules/sound/driver/als4000 created for /usr/src/sys/modules/sound/driver/als4000
===> sound/driver/ad1816 (obj)
/usr/obj/usr/src/sys/XERXES/modules/usr/src/sys/modules/sound/driver/ad1816 created for /usr/src/sys/modules/sound/driver/ad1816
===> sound/driver/atiixp (obj)
/usr/obj/usr/src/sys/XERXES/modules/usr/src/sys/modules/sound/driver/atiixp created for /usr/src/sys/modules/sound/driver/atiixp
===> sound/driver/cmi (obj)
/usr/obj/usr/src/sys/XERXES/modules/usr/src/sys/modules/sound/driver/cmi created for /usr/src/sys/modules/sound/driver/cmi
===> sound/driver/cs4281 (obj)
/usr/obj/usr/src/sys/XERXES/modules/usr/src/sys/modules/sound/driver/cs4281 created for /usr/src/sys/modules/sound/driver/cs4281
===> sound/driver/csa (obj)
/usr/obj/usr/src/sys/XERXES/modules/usr/src/sys/modules/sound/driver/csa created for /usr/src/sys/modules/sound/driver/csa
===> sound/driver/ds1 (obj)
/usr/obj/usr/src/sys/XERXES/modules/usr/src/sys/modules/sound/driver/ds1 created for /usr/src/sys/modules/sound/driver/ds1
===> sound/driver/emu10k1 (obj)
".depend", line 1: Need an operator
".depend", line 5: Need an operator
".depend", line 7: Need an operator
".depend", line 11: Need an operator
".depend", line 13: Need an operator
".depend", line 17: Need an operator
".depend", line 18: Need an operator
".depend", line 20: Need an operator
".depend", line 24: Need an operator
".depend", line 26: Need an operator
".depend", line 30: Need an operator
".depend", line 32: Need an operator
".depend", line 36: Need an operator
".depend", line 38: Need an operator
".depend", line 42: Need an operator
".depend", line 44: Need an operator
".depend", line 48: Need an operator
".depend", line 50: Need an operator
".depend", line 54: Need an operator
".depend", line 56: Need an operator
No closing parenthesis in archive specification
".depend", line 60: Error in archive specification: "Tcl_SetVar2"
make: fatal errors encountered -- cannot continue
*** Error code 1

Stop in /usr/src/sys/modules/sound/driver.
*** Error code 1

Stop in /usr/src/sys/modules/sound.
*** Error code 1

Stop in /usr/src/sys/modules.
*** Error code 1

Stop in /usr/obj/usr/src/sys/XERXES.
*** Error code 1

Stop in /usr/src.
*** Error code 1

Stop in /usr/src.

Hat jemand eine Idee?

Danke im vorraus,
-Christian
 
Versuchst du den Soundtreiber fest einzukompilieren? Lass es doch einfach und lade den als Modul nach.
 
Hallo!

Versuchst du den Soundtreiber fest einzukompilieren? Lass es
doch einfach und lade den als Modul nach.

Nein, ich kompiliere kein "sound" Module fest ein, da es sich hierbei um einen kleinen Server handelt der keine Soundkarte hat (oder braucht). In der ganzen Kernel-config kommt das Wort "Sound" nicht vor ;)

troll said:
Welche make-Flags nutzt du?

Nichts wildes:

Code:
KERNCONF=XERXES
CFLAGS=-O2 -pipe -funroll-loops
CPUTYPE=athlon-xp
BUILD_OPTIMIZED=yes

-Christian.
 
Von wegen nichts wildes? -fno-strict-aliasing fehlt! Die Option -funroll-loops wird auch nicht offiziell unterstützt! Kommentier doch die CFLAGS einfach aus, der default passt prima.
 
Von wegen nichts wildes? -fno-strict-aliasing fehlt! Die Option -funroll-loops wird auch nicht offiziell unterstützt! Kommentier doch die CFLAGS einfach aus, der default passt prima.


Ich gebe ehrlich zu, dass ich diese Flags "geerbt" habe und nicht weiss was die genau machen. Eine kurze Erklärung oder eine übersicht von empfohlenen Flags wäre toll!

Vielen lieben Dank!
-Christian.
 
Die Empfehlung ist die CFLAGS auszukommentieren. Der Standard ist gut. Wenn du wissen willst, was die Flags tun solltest du die gcc(1) Manual-Page lesen.

-funroll-loops soll zum Beispiel Schleifen ausrollen und so Sprünge vermeiden. Das ist dann von Vorteil, wenn die Sprungvorhersage öfter mal falsch ist (was sie äußerst selten ist). Allerdings bläht sich dadurch der Execution-Code auf und belegt mehr Platz im Cache. Das macht den Geschwindigkeitszuwachs oft mehr als Wett. Die Option bringt also bei CPUs ohne sehr großen Cache tendenziell eher Geschwindigkeitseinbußen.
 
Die Empfehlung ist die CFLAGS auszukommentieren. Der Standard ist gut. Wenn du wissen willst, was die Flags tun solltest du die gcc(1) Manual-Page lesen.

-funroll-loops soll zum Beispiel Schleifen ausrollen und so Sprünge vermeiden. Das ist dann von Vorteil, wenn die Sprungvorhersage öfter mal falsch ist (was sie äußerst selten ist). Allerdings bläht sich dadurch der Execution-Code auf und belegt mehr Platz im Cache. Das macht den Geschwindigkeitszuwachs oft mehr als Wett. Die Option bringt also bei CPUs ohne sehr großen Cache tendenziell eher Geschwindigkeitseinbußen.

Vielen lieben Dank :)

-Christian.
 
Back
Top