Kernelbau: "make depend" will nicht

nihonto

Well-Known Member
'N Abend:)!

Ich versuche mich grade mal wieder an NetBSD, das hier in Version 4.0.1 auf meinem Laptop läuft. Xorg hab' ich schon installiert und eingerichtet und ein paar Pakete hab' ich mit pkgsrc auch auf die Platte geholt.

Nun hab' ich aber ein Problem, wenn ich einen neuen Kernel bauen will. Die Kernel-Sourcen hab' ich unter /usr/src installiert und mit

Code:
cp GENERIC_LAPTOP MYKERNEL

einen eigenen Kernel angelegt. Wenn's nun aber "make depend" heißt, kommt nur diese Fehlermeldung:

# make depend
make: "/etc/mk.conf" line 207: Malformed conditional ((!empty(MACHINE_PLATFORM:MNetBSD-*-*) && exists(/usr/X11R7/lib/libX11.so)))
make: "/etc/mk.conf" line 207: Need an operator
make: "/etc/mk.conf" line 210: Malformed conditional (empty(MACHINE_PLATFORM:MDarwin-9.*-*) || (defined(X11_TYPE) && ${X11_TYPE} != "native"))
make: "/etc/mk.conf" line 516: Malformed conditional (${OPSYS} == "IRIX")
make: "/etc/mk.conf" line 516: Need an operator
make: "/etc/mk.conf" line 529: Malformed conditional (${OPSYS} == "SunOS")
make: Fatal errors encountered -- cannot continue

make: stopped in /usr/src/sys/arch/i386/compile/MYKERNEL

Hat jemand eine Idee, was das heißen könnte? Ich habe keinen blassen Schimmer, was für ein "operator" da gefordert ist, geschweige denn, welches "conditional" malformed ist.

Ich habe die Beispiel-Datei aus /usr/pkgsrc/mk/defaults/mk.conf nach /etc kopiert.

Bin dankbar für alle Vorschläge:)!
 
Servus!

Idee habe cih auch nicht, aber haste mal in Deine /etc/mk.conf (bei den angegebenen Stellen) geschaut was da steht?

... da steht das, was ich in meinem ersten Post als Fehlermeldung angegeben habe;). Nur die äußeren Klammern hat die Fehlermeldung hinzugefügt.

In der mk.conf steht also in Zeile 207:

(!empty(MACHINE_PLATFORM:MNetBSD-*-*) && exists(/usr/X11R7/lib/libX11.so))

Und da fehlt anscheinend ein "operator" und ein "malformed conditional" ist im Weg.

Das sagt mir rein gar nichts - hab' keine Ahnung vom Coden:o.

Ich habe an diesen Zeilen übrigens nichts verändert. Das sind die default-Einstellungen der Beispiel-Datei /usr/pkgsrc/mk/defaults/mk.conf.
 
Ich habe die Beispiel-Datei aus /usr/pkgsrc/mk/defaults/mk.conf nach /etc kopiert.

Warum hast du überhaupt die mk.conf dahin kopiert? Ich bin mir auch nicht sicher, aber ich meine ich hätte unter 4.0 beim Kernel bauen die mk.conf nicht sonderlich beachtet. Hast du make depend schon mal ohne mk.conf in /etc/ versucht?
 
Warum hast du überhaupt die mk.conf dahin kopiert?

Weil ich dachte, das soll so sein:D. Sonst hätten die Entwickler den ganzen Kladderadatsch auch in die Manpage zu /etc/mk.conf schreiben können, inkl. des freundlichen Hinweis: "Lieber Nutzer, such' Dir hier bitte das raus, was Du meinst zu benötigen ...". Da das aber nicht der Fall ist, dachte ich, die Beispieldatei sei dazu da, um nach /etc/mk.conf kopiert zu werden. Aber mit dem Denken ist das immer so eine Sache ...

Ich bin mir auch nicht sicher, aber ich meine ich hätte unter 4.0 beim Kernel bauen die mk.conf nicht sonderlich beachtet. Hast du make depend schon mal ohne mk.conf in /etc/ versucht?

Nö, bislang nicht. Hab' die mk.conf gebraucht, um das modulare Xorg bauen zu können und weil diverse Anwendungen in pkgsrc die Angabe von ACCEPTABLE_LICENSES in der mk.conf verlangen (Opera zum Beispiel). Sonst lassen sie sich nicht bauen.
 
Zuletzt bearbeitet:
Aaaalso: Ich hab' jetzt einfach mal ein neues, leeres Dokument /etc/mk.conf angelegt und die alte mk.conf in mk.conf.old umbenannt.

In das neue Dokument habe ich lediglich die Angaben kopiert, von denen ich weiß bzwn annehme, dass ich sie benötige:

ALLOW_VULNERABLE_PACKAGES=defined
X11_TYPE=modular
ACCEPTABLE_LICENSES+=opera-850-license vim-license

Der neue Kernel ließ sich dann ohne Probleme kompilieren:D!
 
Zurück
Oben