Am Donnerstag, 16. September 2004 11:48 schrieb Rolf Hoff:
Heinz Dittmar schrieb:
Hallo, hat schon jemand versucht die neuesten Kernel von SuSE zu compilieren. Das eine Problem ist schon etwas älter, ich muß immer das infiniband deaktivieren, damit ich einen z.B Original-Konfiguration compilieren konnte. Die Fehlermeldung war sonst : LD drivers/infiniband/core/built-in.o CC [M] drivers/infiniband/core/client_query.o CC [M] drivers/infiniband/core/client_query_export.o CC [M] drivers/infiniband/core/client_query_main.o GEN drivers/infiniband/core/cm_packet.h Can't open perl script "drivers/infiniband/core/generate_cm_packet.pl": Datei oder Verzeichnis nicht gefunden
Dann hast Du mit z.B. "make xconfig" etwas nicht aktiviert, was aber gebraucht wird (evtl. durch nachfolgend fehlendem "make cloneconfig" statt einem "make oldconfig"?)
Geht auch mit den orginal default-Kerneleinstellungen nicht.
CC [M] drivers/infiniband/core/cm_main.o
CC [M] drivers/infiniband/core/cm_api.o /usr/src/linux-2.6.8-5cvs20040824145948/drivers/infiniband/core/cm_api.c: 25:23: cm_packet.h: Datei oder Verzeichnis nicht gefunden /usr/src/linux-2.6.8-5cvs20040824145948/drivers/infiniband/core/cm_api.c: In Funktion »ib_cm_connect«: /usr/src/linux-2.6.8-5cvs20040824145948/drivers/infiniband/core/cm_api.c: 63: Warnung: implicit declaration of function `ib_cm_req_private_data_get_length' make[4]: *** [drivers/infiniband/core/cm_api.o] Fehler 1 make[3]: *** [drivers/infiniband/core] Fehler 2 make[2]: *** [drivers/infiniband] Fehler 2 make[1]: *** [drivers] Fehler 2 make: *** [_all] Fehler 2 hedi-1:/usr/src/linux-2.6.8-5cvs20040824145948 # Warum wieso auch immer, wenn ich es deaktiviert hatte in der configuration, konnte ich den Kernel compilieren.
tatsächlich findest Du in ./core/cm_api.c unter genannten Zeilen Hinweise auf das, was an Auswahl fehlt (sprich aktiviert werden muss)
Mit den neusten Kernel von SuSE habe ich auserdem das Problem (schon etwas näher eingekreist, make bzImage) erhalte ich folgende Fehlermeldung : LD vmlinux SYSMAP System.map SYSMAP .tmp_System.map AS arch/i386/boot/bootsect.o LD arch/i386/boot/bootsect AS arch/i386/boot/setup.o LD arch/i386/boot/setup AS arch/i386/boot/compressed/head.o CC arch/i386/boot/compressed/misc.o OBJCOPY arch/i386/boot/compressed/vmlinux.bin GZIP arch/i386/boot/compressed/vmlinux.bin.gz LD arch/i386/boot/compressed/piggy.o LD arch/i386/boot/compressed/vmlinux OBJCOPY arch/i386/boot/vmlinux.bin HOSTCC arch/i386/boot/tools/build cc1: Datei oder Verzeichnis nicht gefunden: Abhängigkeitsdatei »arch/i386/boot/tools/.build.d« wird geöffnet make[2]: *** [arch/i386/boot/tools/build] Fehler 1 make[1]: *** [bzImage] Fehler 2 make: *** [bzImage] Fehler 2 hedi-1:/usr/src/linux-2.6.8-20040914143703 #
Hier fehlt Dir das Build-Verzeichnis, findest Du unter /lib/modules/Kernel-Version/build*
Ist ein Link auf /usr/src/linux-2.6.8-20040914143703-obj/i386/default Und ein: hedi-1:/home/heinz # ls -al /usr/src/linux-2.6.8-20040914143703-obj/i386/default/arch/i386 insgesamt 12 drwxr-xr-x 3 root root 4096 2004-09-15 09:51 . drwxr-xr-x 3 root root 4096 2004-09-15 09:51 .. drwxr-xr-x 5 root root 4096 2004-09-15 09:51 kernel hedi-1:/home/heinz #
Siehe Hinweis zu Fehler 1 Da sollte in der Regel eine Datei build.c zu finden sein.
Vergleich das mal mit Deinem laufenden Kernel. Ich benutze dafür alles mit der make O=eigenesbuildverzeichnis Ein ls nach abruch sieht so aus: hedi-1:/home/heinz # ls -al /usr/src/mykernel/hd15/arch/i386/boot insgesamt 1572 drwxr-xr-x 3 root root 4096 2004-09-15 13:57 . drwxr-xr-x 11 root root 4096 2004-09-15 13:57 .. -rw-r--r-- 1 root root 132 2004-09-15 13:57 .bootsect.cmd -rw-r--r-- 1 root root 673 2004-09-15 13:57 .bootsect.o.cmd -rw-r--r-- 1 root root 134 2004-09-15 13:57 .setup.cmd -rw-r--r-- 1 root root 2140 2004-09-15 13:57 .setup.o.cmd -rw-r--r-- 1 root root 138 2004-09-15 13:57 .vmlinux.bin.cmd -rwxr-xr-x 1 root root 512 2004-09-15 13:57 bootsect -rw-r--r-- 1 root root 1744 2004-09-15 13:57 bootsect.o drwxr-xr-x 2 root root 4096 2004-09-15 13:57 compressed -rwxr-xr-x 1 root root 4959 2004-09-15 13:57 setup -rw-r--r-- 1 root root 13692 2004-09-15 13:57 setup.o -rwxr-xr-x 1 root root 1536634 2004-09-15 13:57 vmlinux.bin hedi-1:/home/heinz # Das heißt, das Verzeichnis arch/i386/boot/tools/build ist nicht vorhanden.
Wer kann mir weiterhelfen oder weiss was da genau fehlt bei den "tools". Viele Grüße, Heinz Dittmar