[gull] Kernel compilation error

Leopoldo Ghielmetti leopoldo.ghielmetti at a3.epfl.ch
Wed Dec 20 17:54:15 CET 2006


On Mon, 2006-12-18 at 09:34 +0000, vkeller at bluewin.ch wrote:
> Salut à vous,

salut,

> j'essaie d'installer PAPI (Performance Application Programming 
> Interface) qui requiert la lib perfctr (permettant d'accèder aux 
> compteurs hardware CPU) sur une SUSE 10.0. Cette lib demande un patch 
> du noyau et une recompilation de celui-ci.

Est-tu sûr qu'il faut aussi patcher la version SuSE du kernel? il m'est
souvent arrivé que la SuSE avait déjà introduit le patch concerné (ou
équivalent) dans leur kernel et qu'il ne restait plus qu'a recompiler la
librairie en question. Peut-être c'est la même chose pour la perfctr.

Généralement ce que je fais c'est juste de compiler les
exécutables/librairies sans rien patcher dans le kernel, si ça ne passe
pas alors je vais voir de patcher le kernel.

Mais patcher un kernel SuSE ce n'est pas évident. Les kernels SuSE sont
déjà patches à mort par Novell pour inclure diverses corrections et
améliorations non présentes sur les kernels standard. Et si tu substitue
le kernel avec une version standard attends-toi à avoir des problèmes
avec les paquetages standard fournis (pas tous mais certains) qui
comptent justement sur ces patches pour marcher correctement.

L'idéal serait de trouver une version de cette librairie déjà prête pour
une SuSE, ou sinon effectuer les patches à la main directement sur le
kernel SuSE (mais ce n'est pas donné à tout le monde).

> La version du noyau est 2.6.13-15.8-default
> 
> Suivant les étapes habituelles de la compilation du noyau (make 
> mrproper, make dep vmlinux,  make modules, etc...) j'arrive 
> inéluctablement sur l'erreur suivante au link :
> 
>   UPD     include/linux/compile.h
>   CC      init/version.o
>   LD      init/built-in.o
>   LD      .tmp_vmlinux1
> drivers/built-in.o: In function `__crc___put_task_struct':
> : multiple definition of `__crc___put_task_struct'
> make: *** [.tmp_vmlinux1] Error 1

Ceci peut indiquer que la fonction en question était déjà présente dans
le kernel SuSE et qu'en patchant tu en a ajouté une deuxième qu'il
n'apprécie pas, ou que le patch en question a ajouté la fonction au
mauvais endroit (pour un kernel SuSE) et ça lui pose des problèmes.

> Une googlisation ne m'aide pas vraiment (http://lists.cs.utk.
> edu/pipermail/ptools-perfapi/2005-August/001420.html)
> 
> N'étant pas un expert de ce genre de gymnastique, je me tourne vers 
> vous ! Y aurait-il un collègue qui a déjà eu ce genre de problèmes et 
> saurait me dépanner (tout du moins me donner un conseil) ?
> 
> Amicalement
> Vince

ciao, Leo





More information about the gull mailing list