Hallo, On Wed, 15 Jan 2003, Thilo A. Coblenzer wrote:
also ich habe jetzt noch etwas herumprobiert. Daher entsorge ich mal die alten Zitate und beschreibe mal was ich gemacht habe.
Also ich habe mir nocheinmal die unveränderten Kernel-Sourcen vorgenommen. Die hatte ich vorher durch kopieren gesichert. Dann habe ich ein "make oldconfig" "make dep" "make modules" gemacht.
Oh. Das ist eine moegliche Ursache. [..]
Letztendlich brach es mit dieser Fehlermeldung ab: gcc -D__KERNEL__ -I/usr/src/linux-2.4.18.SuSE/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i586 -DMODULE -DKBUILD_BASENAME=sysinfo -c -o sysinfo.o sysinfo.c sysinfo.c:9: linux/compile.h: Datei oder Verzeichnis nicht gefunden sysinfo.c: In function `svr4_sysinfo': sysinfo.c:83: `UTS_VERSION' undeclared (first use in this function) [..] Tja und solange nichteinmal der Kernel ohne Patch durchläuft, brauch ich mir wohl über den Patch keine Gedanken zu machen.
Jep. Wobei im SuSE-Kernel ja schon _einige_ patches stecken. Apropos: welchen SuSE-Kernel (release?!?) versuchst du zu kompilieren? Ok. Also, mach folgendes: 1. pack die Kernel-sourcen komplett neu aus! 2. make clean 3. make oldconfig 4. make dep clean bzImage modules 2>&1 | tee __make.log ^^^^^! Falls das immer noch nicht klappt: Schnapp dir erstmal nen vanilla-Kernel von kernel.org...
PS: Das mit dem find muß ich mir nocheinmal genauer ansehen. Mir war der Unterschied "mit oder ohne / " nicht bewußt.
Das macht v.a. dann einen Unterschied, wenn der Pfad ein symlink ist. Denn ein symlink ist eine Datei und kein Dir, ergo sucht ein 'find /usr/src/linux' nur "in" der _Datei_ /usr/src/linux, wenn diese ein symlink ist. Ein 'find /usr/src/linux/' "loest" den symlink auf, und somit bekommst du das gewollte Verhalten... Das ganze laesst sich gut an der benoetigten Zeit erkennen: $ time find /usr/src/linux -name "*.[chsS]" >/dev/null real 0m0.004s user 0m0.000s sys 0m0.010s $ time find /usr/src/linux/ -name "*.[chsS]" >/dev/null real 0m9.127s user 0m0.100s sys 0m0.350s $ time find /usr/src/linux/ -name "*.[chsS]" >/dev/null real 0m0.299s user 0m0.020s sys 0m0.270s [die letztere Version mit den Dateinamen komplett(!) im HDD-Cache] Mit einem beliebigen grep hinterher ist der Unterschied dann aber aehnlich deutlich wie bei den ersten beiden Varianten! [die Dateinamen sind immer noch im Cache!]: $ time find /usr/src/linux -name "*.[chsS]" | xargs grep -q fuck real 0m0.016s user 0m0.010s sys 0m0.010s $ time find /usr/src/linux/ -name "*.[chsS]" | xargs grep -q fuck real 0m13.999s user 0m0.900s sys 0m2.110s -dnh -- The purpose of a windowing system is to put some amusing fluff around your one almighty emacs window. -- Mark on gnu.emacs.help