ich habe ein Problem mit dem kompilieren eines eigenen Kernel.
Irgendwie scheint der Makefile nicht zu stimmen. Ich habe den original „.config“ File genomen und mit hilfe von „menuconfig“ den Prozessortyp auf K6 eingestellt.
Wenn ich dann „make dep“ aufrufe, bricht make irgendwann ab.
make[1]: Entering directory /usr/src/linux-2.2.16/arch/i386/boot' make[1]: Nothing to be done for dep’.
make[1]: Leaving directory `/usr/src/linux-2.2.16/arch/i386/boot’
make[1]: Leaving directory /usr/src/linux-2.2.16' scripts/split-include include/linux/autoconf.h include/config kgcc -D\_\_KERNEL\_\_ -I/usr/src/linux-2.2.16/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=586 -c -o init/main.o init/main.c kgcc -D\_\_KERNEL\_\_ -I/usr/src/linux-2.2.16/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=586 -DUTS\_MACHINE='"i386"' -c -o init/version.o init/version.c make -C kernel make[1]: Entering directory /usr/src/linux-2.2.16/kernel’
make all_targets
make[2]: Entering directory /usr/src/linux-2.2.16/kernel' kgcc -D\_\_KERNEL\_\_ -I/usr/src/linux-2.2.16/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -fno-strength-reduce -m486 -malign-loops=2 -malign-jumps=2 -malign-functions=2 -DCPU=586 -DEXPORT\_SYMTAB -c ksyms.c In file included from /usr/src/linux-2.2.16/include/linux/modversions.h:50, from /usr/src/linux-2.2.16/include/linux/module.h:19, from ksyms.c:14: /usr/src/linux-2.2.16/include/linux/modules/i386\_ksyms.ver:6: warning: cpu_data’ redefined
/usr/src/linux-2.2.16/include/asm/processor.h:96: warning: this is the location of the previous definition
/usr/src/linux-2.2.16/include/linux/modules/i386_ksyms.ver:28: warning: smp\_num\_cpus' redefined /usr/src/linux-2.2.16/include/linux/smp.h:77: warning: this is the location of the previous definition /usr/src/linux-2.2.16/include/linux/modules/i386\_ksyms.ver:118: warning: smp_call_function’ redefined
/usr/src/linux-2.2.16/include/linux/smp.h:83: warning: this is the location of the previous definition
In file included from /usr/src/linux-2.2.16/include/linux/interrupt.h:51,
from ksyms.c:21:
/usr/src/linux-2.2.16/include/asm/hardirq.h:23: warning: synchronize\_irq' redefined /usr/src/linux-2.2.16/include/linux/modules/i386\_ksyms.ver:138: warning: this is the location of the previous definition In file included from /usr/src/linux-2.2.16/include/linux/interrupt.h:52, from ksyms.c:21: /usr/src/linux-2.2.16/include/asm/softirq.h:75: warning: synchronize_bh’ redefined
/usr/src/linux-2.2.16/include/linux/modules/i386_ksyms.ver:142: warning: this is the location of the previous definition
/usr/src/linux-2.2.16/include/linux/kernel_stat.h: In function kstat\_irqs': In file included from ksyms.c:17: /usr/src/linux-2.2.16/include/linux/kernel\_stat.h:47: smp_num_cpus’ undeclared (first use in this function)
/usr/src/linux-2.2.16/include/linux/kernel_stat.h:47: (Each undeclared identifier is reported only once
/usr/src/linux-2.2.16/include/linux/kernel_stat.h:47: for each function it appears in.)
make[2]: *** [ksyms.o] Error 1
make[2]: Leaving directory /usr/src/linux-2.2.16/kernel' make[1]: \*\*\* [first\_rule] Error 2 make[1]: Leaving directory /usr/src/linux-2.2.16/kernel’
make: *** [_dir_kernel] Error 2
Toll. Gibt es da irgendwelche Fehlermeldungen, die das
Verhalten näher erklären können?
Du hast Mehrprozessorbetrieb eingestellt, das verträgt sich nicht mit AMD. Deaktiviere ihn bei der Kernelkonfiguration, Du hast sicher nur eine CPU, oder?
Du hast Mehrprozessorbetrieb eingestellt, das verträgt sich
nicht mit AMD. Deaktiviere ihn bei der Kernelkonfiguration, Du
hast sicher nur eine CPU, oder?
Lösung ist irrelevant. Die Kernelsourcen für RH 7 lassen sich nicht übersetzen. SMP Betrieb wird immer teilweise integriert. Die einfachste Lösung ist, besorg dir frische Sourcen von http://www.kernel.org
Du hast Mehrprozessorbetrieb eingestellt, das verträgt sich
nicht mit AMD. Deaktiviere ihn bei der Kernelkonfiguration, Du
hast sicher nur eine CPU, oder?
Lösung ist irrelevant. Die Kernelsourcen für RH 7 lassen sich
nicht übersetzen.
?!
Es Lebe RedHat, SuSE ist zu kommerziell und hat was gegen Open Source
SMP Betrieb wird immer teilweise integriert.
Echt, ich hatte vermutet, daß es im Zusammenhand mit AMD-Prozessoren nicht klappt und die Fehlermeldungen deuten ja in die Richtung…
Aber wo ich so grübele, ich habe auch was von Problemen mit RH
7 gehört. War das nicht (auch) ein Kompilerproblem?!
RH7 hat ein „Compilerproblem“ insofern, dass der userspace-Compiler ein pseudo gcc-2.96 ist, den es offiziell nicht gibt und der zu 2.95 und dem kommenden 3.0 inkompatiblem Binärcode erzeugt. Alles weitere kannst Du bei Interesse auf Slashdot / LinuxToday nachlesen, da wurde das totgekaut.