[BC3] Foutmelding tijdens kernel bakken

Pagina: 1
Acties:
  • 131 views sinds 30-01-2008
  • Reageer

  • RvdH
  • Registratie: Juni 1999
  • Laatst online: 28-07 15:42

RvdH

Uitvinder van RickRAID

Topicstarter
De oorzaak staat net boven die paar regeltjes die je geeft.

Verwijderd

Ik krijg deze foutmelding als ik kernel 2.4.4 aan het compilen bent:

make[2]: *** [ksyms.o] Error 1
make[2]: Leaving directory `/usr/src/linux-2.4.4/kernel''
make[1]: *** [first_rule] Error 2
make[1]: Leaving directory `/usr/src/linux-2.4.4/kernel''
make: *** [_dir_kernel] Error 2


Wat kan de oorzaak daarvan zijn?

  • BC3 Victim
  • Registratie: Juli 2001
  • Laatst online: 29-09-2006
Heb jij twee processoren? Nee? Dan is de oplossing om gewoon SMP uit te zetten in je Kernel.

De username van de oorspronkelijke plaatser van deze posting is bij Big Crash 3 eind mei 2001 verloren gegaan. Om toch de posting zelf terug te kunnen plaatsen is de user BC3 Victim in het leven geroepen


Verwijderd

In file included from /usr/src/linux-2.4.4/include/linux/wait.h:19,
from /usr/src/linux-2.4.4/include/linux/fs.h:12,
from /usr/src/linux-2.4.4/include/linux/capability.h:17,
from /usr/src/linux-2.4.4/include/linux/binfmts.h:5,
from /usr/src/linux-2.4.4/include/linux/sched.h:9,
from context.c:18:
/usr/src/linux-2.4.4/include/asm/processor.h:78: warning: `cpu_data'' redefined
/usr/src/linux-2.4.4/include/linux/modules/i386_ksyms.ver:76: warning: this is the location of the previous definition
In file included from /usr/src/linux-2.4.4/include/linux/sched.h:23,
from context.c:18:
/usr/src/linux-2.4.4/include/linux/smp.h:80: warning: `smp_num_cpus'' redefined
/usr/src/linux-2.4.4/include/linux/modules/i386_ksyms.ver:80: warning: this is the location of the previous definition
/usr/src/linux-2.4.4/include/linux/smp.h:87: warning: `smp_call_function'' redefined
/usr/src/linux-2.4.4/include/linux/modules/i386_ksyms.ver:96: warning: this is the location of the previous definition
/usr/src/linux-2.4.4/include/linux/smp.h:88: warning: `cpu_online_map'' redefined
/usr/src/linux-2.4.4/include/linux/modules/i386_ksyms.ver:82: warning: this is the location of the previous definition
In file included from /usr/src/linux-2.4.4/include/linux/sched.h:80,
from context.c:18:
/usr/src/linux-2.4.4/include/linux/timer.h:34: warning: `del_timer_sync'' redefined
/usr/src/linux-2.4.4/include/linux/modules/ksyms.ver:502: warning: this is the location of the previous definition
gcc -D__KERNEL__ -I/usr/src/linux-2.4.4/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -mpreferred-stack-boundary=2 -march=i586 -c -o uid16.o uid16.c
gcc -D__KERNEL__ -I/usr/src/linux-2.4.4/include -Wall -Wstrict-prototypes -O2 -fomit-frame-pointer -fno-strict-aliasing -pipe -mpreferred-stack-boundary=2 -march=i586 -DEXPORT_SYMTAB -c ksyms.c
In file included from /usr/src/linux-2.4.4/include/linux/modversions.h:99,
from /usr/src/linux-2.4.4/include/linux/module.h:21,
from ksyms.c:14:
/usr/src/linux-2.4.4/include/linux/modules/i386_ksyms.ver:76: warning: `cpu_data'' redefined
/usr/src/linux-2.4.4/include/asm/processor.h:78: warning: this is the location of the previous definition
/usr/src/linux-2.4.4/include/linux/modules/i386_ksyms.ver:80: warning: `smp_num_cpus'' redefined
/usr/src/linux-2.4.4/include/linux/smp.h:80: warning: this is the location of the previous definition
/usr/src/linux-2.4.4/include/linux/modules/i386_ksyms.ver:82: warning: `cpu_online_map'' redefined
/usr/src/linux-2.4.4/include/linux/smp.h:88: warning: this is the location of the previous definition
/usr/src/linux-2.4.4/include/linux/modules/i386_ksyms.ver:96: warning: `smp_call_function'' redefined
/usr/src/linux-2.4.4/include/linux/smp.h:87: warning: this is the location of the previous definition
In file included from /usr/src/linux-2.4.4/include/linux/modversions.h:124,
from /usr/src/linux-2.4.4/include/linux/module.h:21,
from ksyms.c:14:
/usr/src/linux-2.4.4/include/linux/modules/ksyms.ver:502: warning: `del_timer_sync'' redefined
/usr/src/linux-2.4.4/include/linux/timer.h:34: warning: this is the location of the previous definition
In file included from /usr/src/linux-2.4.4/include/linux/interrupt.h:45,
from ksyms.c:21:
/usr/src/linux-2.4.4/include/asm/hardirq.h:37: warning: `synchronize_irq'' redefined
/usr/src/linux-2.4.4/include/linux/modules/i386_ksyms.ver:84: warning: this is the location of the previous definition
In file included from ksyms.c:17:
/usr/src/linux-2.4.4/include/linux/kernel_stat.h: In function `kstat_irqs'':
/usr/src/linux-2.4.4/include/linux/kernel_stat.h:48: `smp_num_cpus'' undeclared (first use in this function)
/usr/src/linux-2.4.4/include/linux/kernel_stat.h:48: (Each undeclared identifier is reported only once
/usr/src/linux-2.4.4/include/linux/kernel_stat.h:48: for each function it appears in.)
make[2]: *** [ksyms.o] Error 1
make[2]: Leaving directory `/usr/src/linux-2.4.4/kernel''
make[1]: *** [first_rule] Error 2
make[1]: Leaving directory `/usr/src/linux-2.4.4/kernel''
make: *** [_dir_kernel] Error 2

Verwijderd

Op vrijdag 04 mei 2001 13:58 schreef DGTL_Magician het volgende:

Heb jij twee processoren? Nee? Dan is de oplossing om gewoon SMP uit te zetten in je Kernel.
2.2 kernels willen soms juist niet compilen als je SMP uitzet(dit is geloof ik alleen bij experimental shit). Ik weet echter niet of dit voor 2.4 ook op gaat.

Check de md5 checksum van je kernel.tar.gz eens anders en welke `makes` doe je allemaal? make mrproper? make menuconfig? make dep? make bzImage?

edit:
Was laatste zinnetjes vergeten

[edit2] Opera fucked up de layout(allemaal <br>s)

  • mth
  • Registratie: Mei 2000
  • Laatst online: 05-02-2025

mth

Ik heb met zowel 2.2 als 2.4 kernels nooit problemen gehad om zonder SMP te compileren. Ik heb wat experimentele zooi aanstaan, maar niet alles.

Welke versie van gcc gebruik je? Red Hat 7 en Mandrake 8 hebben gcc 2.96 en daar kun je geen kernels mee compileren. Installeer in dat geval egcs en verander gcc in kgcc in de Makefile.

"This is the noise that keeps me awake."


Verwijderd

Ik doe steeds:

make menuconfig

make dep
make clean
make bzImage

make modules
make modules_install

en ik heb 1 processor

(en de chello verbinding lag er WEER de hele middag uit :r :r :r )

  • Biazz
  • Registratie: November 2000
  • Laatst online: 03-07 18:35

Biazz

 

De error lijkt num_cpus undeclared. Dus probleempje in SMP gebeuren. Het is altijd slim SMP uit te zetten als je 1 proc hebt.

  • ACM
  • Registratie: Januari 2000
  • Niet online

ACM

Software Architect

Werkt hier

Op vrijdag 04 mei 2001 16:05 schreef mth het volgende:
Welke versie van gcc gebruik je? Red Hat 7 en Mandrake 8 hebben gcc 2.96 en daar kun je geen kernels mee compileren. Installeer in dat geval egcs en verander gcc in kgcc in de Makefile.
Alleen met de eerste(n?) van redhat7.0 niet...
De latere wel, die van redhat7.1 ook en die van mandrake is ook geen probleem...


Maar voor je je kernel maakt moet je ook nog even
make mrproper
doen

Verwijderd

Misschien een domme vraag maar waar kan ik dat SMP precies vinden?

En waarom moet ik eerst make mrproper doen?

Verwijderd

cd /usr/src
ln -s linux-2.4.4 linux

  • Biazz
  • Registratie: November 2000
  • Laatst online: 03-07 18:35

Biazz

 

Sorry, nu geen md5sum maar pgp, zie

http://www.kernel.org/signature.html

  • Biazz
  • Registratie: November 2000
  • Laatst online: 03-07 18:35

Biazz

 

SMP kun je aan/uit zetten (default=aan) in een van de eerste menutjes (als je make menuconfig doet iig) Op de zelfde plaats als waar je selecteerd wat voor processor je hebt, veel of weinig geheugen, en al die dingen. Ik raad je wel aan dat allemaal goed te configureren. Als je een p3 kernel bakt wil die niet booten op athlon enzow. Verder moet je goed alle drivers selecteren etc. etc. Je klinkt een beetje alsof je voor het eerst een kernel bakt, dus ik raad je aan GOED de driver docs bij de kernel te lezen. Verkeerde kernels booten niet (ook al compilen ze wel).

verder over rh7, de niewste gcc wil wel kernel compilen (zit standaard bij 7.1). Ik draai 7.1 met 2.4.4 en dat gaat allemaal lekker.

Verwijderd

Ja nu zie ik het staan. Maar die had ik al uitgezet, omdat ik geen multi-processor systeem heb!! (Symmetric multi-processing support)

En inderdaad ben ik nog een vrij newbie.
Dit is ongeveer de 3e keer dat ik een kernel compile.

Maar wat kan dan nu de oorzaak zijn van die fout tijdens het compilen. SMP staat dus uit en kan het dus daar niet aan liggen?

  • Biazz
  • Registratie: November 2000
  • Laatst online: 03-07 18:35

Biazz

 

Tja dat is raar, gezien de fout toch in smp_num_cpus zit. Er horen volgens mij een paar extra opties bij dat smp. (iig 1). Ik ben even kwijt wat precies, maar het is iets met io dacht ik, staat bij dat het vereist is bij smp, maar ook handig kan zijn bij 1proc. Probeer dat anders ''ns uit te zetten. En kijk even of je md5sum klopt! (is al gemeld geloof ik, maar je kunt maar beter zeker zijn.)

suc6

Verwijderd

Op vrijdag 04 mei 2001 20:21 schreef Biazz het volgende:
En kijk even of je md5sum klopt! (is al gemeld geloof ik, maar je kunt maar beter zeker zijn.)
Ja maar hoe doe ik dat. Daar weet ik echt nog niks van (en niet lachen >:) )

  • Biazz
  • Registratie: November 2000
  • Laatst online: 03-07 18:35

Biazz

 

typ in : man md5sum.

btw, je hebt dus de md5sum nodig van de source. Ik weet niet of die er nog bij staan op kernel.org. Tegenwoordig pgp ofzow. Maar dat is een soortgelijk systeem dacht ik.

Verwijderd

Ik heb toennet eerst ff make mrproper uitgevoerd. Maar nu krijg bij make bzImage steeds een aantal vragen.

Hoe kan ik dat weer uitzetten?

  • Biazz
  • Registratie: November 2000
  • Laatst online: 03-07 18:35

Biazz

 

make mrproper is linus humor voor make clean. (mrproper schijnt eenofander bizar schoonmaak middel te zijn). Dit doe je dus NIET als je net een verse source hebt geunzipped. Maar goed, al je config files zijn weg na make mrproper. Clean=clean dus. dus normale volgorde:
als verse source: make menuconfig, make dep, make bzImage (en evt. make modules, make modules_install)
als oude source (al een keer gecompiled, niewe patch gedaan etc.): make mrproper, make menuconfig ..... (etc etc)

check wel even die pgp signature, dit kan echt het probleem zijn, fouten tijdens download / cd branden zijn ook weer niet zo zeldzaam.

Verwijderd

Oh leuk :( nu ben ik alle instellingen dus weer kwijt!!

Ja hoe ik die code kan controleren snap ik nog niet helemaal.

Maar kan het niet aan het volgende liggen:

Ik gebruik gcc versie 2.95.2

In de README van de kernel staat het volgende:

- Make sure you have gcc-2.91.66 (egcs-1.1.2) available. gcc 2.95.2 may
also work but is not as safe, and *gcc 2.7.2.3 is no longer supported*.

Maar kan dat het zijn, want ik heb een paar dagen geleden ook een 2.4.4 kernel gemaakt met versie 2.95.2 van gcc en toen werkte het wel gewoon goed?

  • Biazz
  • Registratie: November 2000
  • Laatst online: 03-07 18:35

Biazz

 

ik heb ''m gecompiled met gcc-2.96-81-i386. Dat ging iig goed. Een x goed compilen wil niet zeggen dat je compiler goed is, andere settings kunnen wel problemen geven. BTW, met menuconfig kun je je settings saven, doe dat altijd dan kun je bij een nieuwe kernel weer je oude instellingen aanpassen.

Verwijderd

Het is heel vreemd, maar nu deed die het opeens wel bij het compilen. :?

Het werkt nu allemaal goed met 2.4.4

  • Biazz
  • Registratie: November 2000
  • Laatst online: 03-07 18:35

Biazz

 

Op vrijdag 04 mei 2001 18:52 schreef tokkie het volgende:
Ik doe steeds:

make menuconfig

make dep
>make clean< |:{
make bzImage

make modules
make modules_install
Niet zo vreemd, die make clean hoort daar niet. Alles wat make dep & config zojuist hebben gedaan gooi jij weer weg. Niet meer doen:?

Verwijderd

Op zaterdag 05 mei 2001 01:09 schreef Biazz het volgende:

Niet zo vreemd, die make clean hoort daar niet. Alles wat make dep & config zojuist hebben gedaan gooi jij weer weg. Niet meer doen:?
Nou dat is niet waar. Het staat namelijk ook zo in het handboek van SuSE 7!!

Verwijderd

als ik de 2.4.4 kernel uitpak dan maakt ie een dir aan /usr/src/linux

bij jou staat ie in /usr/src/linux-2.4.4

probeer die dir eens te hernoemen naar /usr/src/linux en kijk eens of ie dan wel compileerd

Verwijderd

Ik heb een symbolic link /usr/src/linux ==> usr/src/linux-2.4.4

En het is toch opeens weer wel gelukt met compilen.

Verwijderd

biaz, die clean hoort daar wel.

"make dep clean modules modules_install bzlilo"

die gebruik ik altijd en eigenlijk nog nooit een probleem gehad

  • RG
  • Registratie: Augustus 2000
  • Laatst online: 28-11-2025

RG

Lambda

make clean
make menuconfig/xfconfig/config
make dep
make modules
make modules_install
make bzimage
cp /usr/src/linux/arch/i386/boot/bzImage /boot/vmlinux-2.4.4
mcedit /etc/lilo.conf -> aanpassen
lilo

Simpel toch ;)

[deze advertentieruimte is te koop]


Verwijderd

Op zaterdag 05 mei 2001 18:09 schreef tokkie het volgende:

[..]

Nou dat is niet waar. Het staat namelijk ook zo in het handboek van SuSE 7!!
En zelfs in de INSTALL die bij de kernel zit, geschreven door mr. Linus himself.

  • 0siris
  • Registratie: Augustus 2000
  • Laatst online: 07:10
over SMP wel of niet enablen is de help tijdens het kernelbakken duidelijk:

This enables support for systems with more than one CPU. If you have a system with only one CPU, like most personal computers, say N. If you have a system with more than one CPU, say Y. If you say N here, the kernel will run on single and multiprocessor machines, but will use only one CPU of a multiprocessor machine. If you say Y here, the kernel will run on many, but not all, singleprocessor machines. On a singleprocessor machine, the kernel will run faster if you say N here.

Dus gewoon alleen aanzetten als je ook daadwerkelijk in SMP draait!

ach...in een volgend leven lach je er om!

Pagina: 1