Portál AbcLinuxu, 14. května 2025 01:00

Dotaz: chyba pri kompilaci kernel 2.6.32.x

stanyjol avatar 15.12.2009 13:56 stanyjol | skóre: 13
chyba pri kompilaci kernel 2.6.32.x
Přečteno: 316×
Odpovědět | Admin
kompiloval jsem nový kernel 2.6.32.1 a během kompilace se objevil následující err

  CHK     include/linux/version.h
  CHK     include/linux/utsrelease.h
  SYMLINK include/asm -> include/asm-x86
  CALL    scripts/checksyscalls.sh
  CHK     include/linux/compile.h
  GZIP    kernel/config_data.gz
  IKCFG   kernel/config_data.h
  CC      kernel/configs.o
  CC      kernel/rcutree.o
kernel/rcutree.c: In function `__rcu_init':
kernel/rcutree.h:301: sorry, unimplemented: inlining failed in call to 'rcu_bootup_announce': function body not available
kernel/rcutree.c:1740: sorry, unimplemented: called from here
make[1]: *** [kernel/rcutree.o] Error 1
make: *** [kernel] Error 2
root@server2:/home/ftp/income/linux-2.6.32.1#

už se vám to stalo?
předchozí verze kernelu 2.6.31.x byla ok - po této neúspěšné kompilaci jsem to pro jistotu kontroloval (znovu zkompiloval předešlý kernel :-)
OS: Slackware 11
P II 400MHz
dle README gcc by mělo být dostačující...
nedaří se mi najít nedostatek

Řešení dotazu:


Nástroje: Začni sledovat (0) ?Zašle upozornění na váš email při vložení nového komentáře.

Odpovědi

15.12.2009 14:19 Andrej Herceg | skóre: 43
Rozbalit Rozbalit vše Re: chyba pri kompilaci kernel 2.6.32.x
Odpovědět | | Sbalit | Link | Blokovat | Admin
V 2.6.33 bola začlenená záplata, ktorá pri niektorých funkciách rcutree odstraňuje inline (vyzerá to tak, že práve s tým máš problém), netuším ale, či už to bolo zaradené aj do 2.6.32.1 (podľa záplaty to asi zaradené nebolo).

PS: Tá záplata vyzerá takto
15.12.2009 14:20 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: chyba pri kompilaci kernel 2.6.32.x
Odpovědět | | Sbalit | Link | Blokovat | Admin
A jak jsi ho nastavoval? Překopíruj .config z toho kde to funguje a skus make oldconfig a pak to skus znovu.
15.12.2009 14:22 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: chyba pri kompilaci kernel 2.6.32.x
Odpovědět | | Sbalit | Link | Blokovat | Admin

Říká, že nenašel tělo funkce rcu_bootup_announce(), aby ji podle klíčového slova inline rozbalil na místě volání.

Progrepoval jsem si zdrojáky a nikde jsem definici funkce nenašel. Nicméně na 2.6.32 právě jedu, takže překlad očividně prošel. Možná to je magie s preprocesorem. Nezapomněl jste make oldconfig? V 2.6.32 je rcu vylepšeno nějakou konfigurovatelnou hashmapou jejíž řád se odvíjí od počtu procesorů a oldconfig se znovu ptá na preempci RCU.

Zkuste vyčistit zdrojáky make clean, pokud překládáte ve starém opatchovaném stromě.

15.12.2009 14:27 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: chyba pri kompilaci kernel 2.6.32.x
Tak definice je kernel/rcutree_plugin.h. Zatracený GNU coding style.
stanyjol avatar 15.12.2009 14:38 stanyjol | skóre: 13
Rozbalit Rozbalit vše Re: chyba pri kompilaci kernel 2.6.32.x
.config jsem zkopíroval do nově rozbaleného 2.6.32.1; old config jsem nezkoušel, zatím jsem vždy používal menuconfig (vždy alespoň nahlédnu a pak uložím);
15.12.2009 14:41 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: chyba pri kompilaci kernel 2.6.32.x
Vždy použij make oldconfig to změní config podle toho co se změnilo a pak to skoukni menuconfig.
stanyjol avatar 15.12.2009 15:10 stanyjol | skóre: 13
Rozbalit Rozbalit vše Re: chyba pri kompilaci kernel 2.6.32.x
tak to je poprve co jsem pouzil oldconfig (predtim mrproper), ale bez uspechu, stejne jako pred tim s menuconfig.
15.12.2009 21:22 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: chyba pri kompilaci kernel 2.6.32.x
Tak potom vyskoušej: smaž .config a potm makeconfig nic neměn a skus to přeložit abys věděl zda není zrada někde v překladači.

Pokud ne bude zrada v nějaké volbě - možná nějaká špatná závislost kdy se nepřeloží nějaká část která je pro to nutná a tak ji budeš muset označit ručně jako Y - M ale která to bude budeš muset vyskoušet ty.
stanyjol avatar 16.12.2009 07:42 stanyjol | skóre: 13
Rozbalit Rozbalit vše Re: chyba pri kompilaci kernel 2.6.32.x
vždy se zastaví u CC kernel/rcutree.o
zkoušel jsem to opravit(zakázat) v .config ručně, ale pak se spustí něco jako oldconfig a dané věci chce opravit zpět, ale jen těch několik souvisejících s rcu
16.12.2009 10:02 Petr Šobáň | skóre: 80 | blog: soban | Olomouc
Rozbalit Rozbalit vše Re: chyba pri kompilaci kernel 2.6.32.x
A asi ještě na něco zapomene a chtělo by to něco přidat.
16.12.2009 10:44 petr_p | skóre: 59 | blog: pb
Rozbalit Rozbalit vše Re: chyba pri kompilaci kernel 2.6.32.x
Vypadá to, že máte rozbitý překladač. Zkuste novější verzi překladače, nebo použijte zde odkazovaný patch, který tam ty inline slova odmaže.
stanyjol avatar 16.12.2009 10:36 stanyjol | skóre: 13
Rozbalit Rozbalit vše Re: chyba pri kompilaci kernel 2.6.32.x
Odpovědět | | Sbalit | Link | Blokovat | Admin
ikdyž jsem vytvořil zcela nový .config zase se kompilování zastavi u stale stejneho mista CC kernel/rcutree.o
...kašlu na to... zůstanu u předešlé verze;
Řešení 1× (David Heidelberg)
stanyjol avatar 16.12.2009 14:02 stanyjol | skóre: 13
Rozbalit Rozbalit vše Re: chyba pri kompilaci kernel 2.6.32.x
nějak mi to nedalo a vyzkoušel jsem ještě dnešní git patch kernelu ... a tradaa... problem zmizel, kompilace jede dál....
asi bych měl nahlásit chybu, ale ... když už funguje ten patch...

Založit nové vláknoNahoru

Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

ISSN 1214-1267, (c) 1999-2007 Stickfish s.r.o.