Récompiler noyau erreur

Fermé
compton - 24 févr. 2006 à 17:58
 compton - 7 mars 2006 à 19:03
Bonjour, j'ai un problème en essayant de recompiler le noyau d'une vieille mandrake 8.2. L'erreur survient à la compilation des modules. J'ai pourtant respecter les instructions de la documentation. Voila le message d'erreur : [root@localhost linux-2.4.18-6mdk]# make modules
make -C kernel CFLAGS="-D__KERNEL__ -I/usr/src/linux-2.4.18-6mdk/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i586 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.4.18-6mdk/include/linux/modversions.h" MAKING_MODULES=1 modules
make[1]: Entre dans le répertoire `/usr/src/linux-2.4.18-6mdk/kernel'
make[1]: Rien à faire pour `modules'.
make[1]: Quitte le répertoire `/usr/src/linux-2.4.18-6mdk/kernel'
make -C drivers CFLAGS="-D__KERNEL__ -I/usr/src/linux-2.4.18-6mdk/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i586 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.4.18-6mdk/include/linux/modversions.h" MAKING_MODULES=1 modules
make[1]: Entre dans le répertoire `/usr/src/linux-2.4.18-6mdk/drivers'
make -C atm modules
make[2]: Entre dans le répertoire `/usr/src/linux-2.4.18-6mdk/drivers/atm'
gcc -D__KERNEL__ -I/usr/src/linux-2.4.18-6mdk/include -Wall -Wstrict-prototypes -Wno-trigraphs -O2 -fno-strict-aliasing -fno-common -fomit-frame-pointer -pipe -mpreferred-stack-boundary=2 -march=i586 -DMODULE -DMODVERSIONS -include /usr/src/linux-2.4.18-6mdk/include/linux/modversions.h -g -DKBUILD_BASENAME=eni -c -o eni.o eni.c
In file included from /usr/src/linux-2.4.18-6mdk/include/asm/processor.h:13,
from /usr/src/linux-2.4.18-6mdk/include/linux/prefetch.h:13,
from /usr/src/linux-2.4.18-6mdk/include/linux/list.h:6,
from /usr/src/linux-2.4.18-6mdk/include/linux/module.h:12,
from eni.c:6:
/usr/src/linux-2.4.18-6mdk/include/asm/page.h:97: nondigits in number and not hexadecimal
/usr/src/linux-2.4.18-6mdk/include/asm/page.h:97: nondigits in number and not hexadecimal
/usr/src/linux-2.4.18-6mdk/include/asm/page.h:97: nondigits in number and not hexadecimal
/usr/src/linux-2.4.18-6mdk/include/asm/page.h:97: nondigits in number and not hexadecimal
/usr/src/linux-2.4.18-6mdk/include/asm/page.h:97: parse error before `577f4bff' /usr/src/linux-2.4.18-6mdk/include/asm/page.h:97: `do_BUG_R_ver_str' declared as function returning a function
/usr/src/linux-2.4.18-6mdk/include/asm/page.h:97: warning: function declaration isn't a prototype
In file included from /usr/src/linux-2.4.18-6mdk/include/linux/prefetch.h:13,
from /usr/src/linux-2.4.18-6mdk/include/linux/list.h:6,
from /usr/src/linux-2.4.18-6mdk/include/linux/module.h:12,
from eni.c:6:
/usr/src/linux-2.4.18-6mdk/include/asm/processor.h:51: warning: parameter names (without types) in function declaration
/usr/src/linux-2.4.18-6mdk/include/asm/processor.h:51: field `loops_per_jiffy_R_ver_str' declared as a function
/usr/src/linux-2.4.18-6mdk/include/asm/processor.h:72: nondigits in number and not hexadecimal
/usr/src/linux-2.4.18-6mdk/include/asm/processor.h:72: parse error before `0657d037'
/usr/src/linux-2.4.18-6mdk/include/asm/processor.h:72: warning: function declaration isn't a prototype
/usr/src/linux-2.4.18-6mdk/include/asm/processor.h:252: nondigits in number and not hexadecimal
/usr/src/linux-2.4.18-6mdk/include/asm/processor.h:252: parse error before `7413793a'
/usr/src/linux-2.4.18-6mdk/include/asm/processor.h:252: warning: function declaration isn't a prototype
/usr/src/linux-2.4.18-6mdk/include/asm/processor.h:256: warning: parameter names (without types) in function declaration
/usr/src/linux-2.4.18-6mdk/include/asm/processor.h:459: missing white space after number `7e9'
/usr/src/linux-2.4.18-6mdk/include/asm/processor.h:459: parse error before `7e9'/usr/src/linux-2.4.18-6mdk/include/asm/processor.h:459: `kernel_thread_R_ver_str' declared as function returning a function
/usr/src/linux-2.4.18-6mdk/include/asm/processor.h:459: warning: function declaration isn't a prototype
In file included from eni.c:6:
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:183: nondigits in number and not hexadecimal
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:183: nondigits in number and not hexadecimal
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:183: nondigits in number and not hexadecimal
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:183: nondigits in number and not hexadecimal
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:183: parse error before `62dada05'
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:183: `inter_module_register_R_ver_str' declared as function returning a function
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:183: warning: function declaration isn't a prototype
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:184: nondigits in number and not hexadecimal
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:184: missing white space after number `7a9e845'
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:184: parse error before `7a9e845'
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:184: `inter_module_unregister_R_ver_str' declared as function returning a function
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:184: warning: function declaration isn't a prototype
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:185: `inter_module_get_R_ver_str' declared as function returning a function
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:185: warning: parameter names (without types) in function declaration
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:186: `inter_module_get_request_R_ver_str' declared as function returning a function
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:186: warning: parameter names (without types) in function declaration
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:187: nondigits in number and not hexadecimal
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:187: nondigits in number and not hexadecimal
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:187: nondigits in number and not hexadecimal
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:187: parse error before `6b99f7d8'
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:187: `inter_module_put_R_ver_str' declared as function returning a function
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:187: warning: function declaration isn't a prototype
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:196: `try_inc_mod_count_R_ver_str' declared as function returning a function
/usr/src/linux-2.4.18-6mdk/include/linux/module.h:196: warning: parameter names (without types) in function declaration
In file included from /usr/src/linux-2.4.18-6mdk/include/linux/fs.h:19,
from /usr/src/linux-2.4.18-6mdk/include/linux/capability.h:17, from /usr/src/linux-2.4.18-6mdk/include/linux/binfmts.h:6,
from /usr/src/linux-2.4.18-6mdk/include/linux/sched.h:9,
from /usr/src/linux-2.4.18-6mdk/include/linux/mm.h:4,
from eni.c:9:
/usr/src/linux-2.4.18-6mdk/include/linux/dcache.h: In function `dget':
/usr/src/linux-2.4.18-6mdk/include/linux/dcache.h:247: warning: implicit declaration of function `do_BUG_R577f4bff'
In file included from /usr/src/linux-2.4.18-6mdk/include/asm/io.h:46,
from /usr/src/linux-2.4.18-6mdk/include/asm/pci.h:35,
from /usr/src/linux-2.4.18-6mdk/include/linux/pci.h:610,
from eni.c:10:
/usr/src/linux-2.4.18-6mdk/include/linux/vmalloc.h: In function `vmalloc':
/usr/src/linux-2.4.18-6mdk/include/linux/vmalloc.h:36: `boot_cpu_data_R0657d037' undeclared (first use in this function)
/usr/src/linux-2.4.18-6mdk/include/linux/vmalloc.h:36: (Each undeclared identifier is reported only once
/usr/src/linux-2.4.18-6mdk/include/linux/vmalloc.h:36: for each function it appears in.)
/usr/src/linux-2.4.18-6mdk/include/linux/vmalloc.h: In function `vmalloc_dma':
/usr/src/linux-2.4.18-6mdk/include/linux/vmalloc.h:45: `boot_cpu_data_R0657d037' undeclared (first use in this function)
/usr/src/linux-2.4.18-6mdk/include/linux/vmalloc.h: In function `vmalloc_32':
/usr/src/linux-2.4.18-6mdk/include/linux/vmalloc.h:54: `boot_cpu_data_R0657d037' undeclared (first use in this function)
In file included from /usr/src/linux-2.4.18-6mdk/include/linux/highmem.h:5,
from /usr/src/linux-2.4.18-6mdk/include/linux/skbuff.h:27,
from /usr/src/linux-2.4.18-6mdk/include/linux/atmdev.h:212,
from eni.c:13:
/usr/src/linux-2.4.18-6mdk/include/asm/pgalloc.h: In function `get_pgd_fast':
/usr/src/linux-2.4.18-6mdk/include/asm/pgalloc.h:78: `boot_cpu_data_R0657d037' undeclared (first use in this function)
/usr/src/linux-2.4.18-6mdk/include/asm/pgalloc.h: In function `free_pgd_fast':
/usr/src/linux-2.4.18-6mdk/include/asm/pgalloc.h:89: `boot_cpu_data_R0657d037' undeclared (first use in this function)
/usr/src/linux-2.4.18-6mdk/include/asm/pgalloc.h: In function `pte_alloc_one_fast':
/usr/src/linux-2.4.18-6mdk/include/asm/pgalloc.h:127: `boot_cpu_data_R0657d037'
undeclared (first use in this function)
/usr/src/linux-2.4.18-6mdk/include/asm/pgalloc.h: In function `pte_free_fast':
/usr/src/linux-2.4.18-6mdk/include/asm/pgalloc.h:137: `boot_cpu_data_R0657d037'
undeclared (first use in this function)
make[2]: *** [eni.o] Erreur 1
make[2]: Quitte le répertoire `/usr/src/linux-2.4.18-6mdk/drivers/atm'
make[1]: *** [_modsubdir_atm] Erreur 2
make[1]: Quitte le répertoire `/usr/src/linux-2.4.18-6mdk/drivers'
make: *** [_mod_drivers] Erreur 2
[root@localhost linux-2.4.18-6mdk]#

5 réponses

mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
27 févr. 2006 à 02:18
Ca peut venir de ta version de gcc... Mais pourquoi compiler un vieux noyau ?
0
Pour voir ce que sa fait de recompiler son noyau !
0
mamiemando Messages postés 33079 Date d'inscription jeudi 12 mai 2005 Statut Modérateur Dernière intervention 23 avril 2024 7 749
6 mars 2006 à 22:41
Ok alors mets à jour ton gcc et prends un noyau 2.6.15 :
http://www.kernel.org

Garde toujours un ancien noyau au cas où tu te trompes sur le nouveau, et pense bien à taper lilo si tu as un lilo.

Vu qu'il s'agit d'une erreur de compilation, ça vient soit des sources qui sont foireuses, soit de ton compilateur. Donc mets à jour gcc et prends un noyau dernier cri et ça devrait rouler ;-)

Bonne chance
0
kmf31 Messages postés 1564 Date d'inscription mercredi 30 mars 2005 Statut Contributeur Dernière intervention 22 juin 2007 501
6 mars 2006 à 22:46
Si tu prend un vieux noyau il faut prendre une version de gcc qui va avec. Je dirais pour un 2.4.18 il faut avoir gcc-2.95.3 ou (peut-etre ???) un gcc-3.2.x, gcc-3.3.x mais un gcc-3.4 ou gcc-4.0 ne marchera pas.

Le sujet de choisir la bonne version de gcc (pas trop recente !!!!) pour compiler un noyau Linux a toujours ete un sujet tres tres delicate. Je me souviens avec une vielle Suse 6.3 ou gcc etait 2.91-... mais uniquement pour la compilation noyau il y avait aussi gcc-2.7.2 datant de quelques annees avant (a l'epoque c'etait le noyau 2.2.13).

Si ce n'est que pour la satisfaction personnelle je conseille de prendre le dernier 2.4.31 ou un 2.6.15. Meme si on a un systeme base sur un 2.4.18 (comme Redhat 7.3 par exemple) ca ira tres bien avec un 2.4.31 apres. Pour mettre un 2.6.x sur un tel systeme c'est un peu plus complique (mais pas impossible non-plus).

Si ca reussi on pourra aussi installer le nouveaux noyau et il sera tres utile. Je pense si on veut compiler soi meme il ne faut pas hesiter choisir le dernier noyau de www.kernel.org (toujours en plus du noyau standard de la distribution, il ne faut jamais virer celui la). Ca permet de mieux rester avec sa distribution et quand meme avoir le dernier noyau. Les distributions comme Mandriva, Suse, ... fournissent toujours les MAJ pour la securite et les bogues serieux mais pas pour de nouvelles fonctionnalites defois tres interessantes (par exemple le module: "ipt-recent" pour le pare feu iptables qui est super utile et seulement present dans les derniers noyaux.).
0

Vous n’avez pas trouvé la réponse que vous recherchez ?

Posez votre question
ok merci pour ces informations.
0