29-11-2011 : Remettre dans le débat politique les principes du Conseil National de la Résistance
29-01-2012 : Parce que nous sommes un peuple debout, agissons pour rester dignes et responsables !
17-02-2012 : Pétition pour une protection de l’apiculture et des consommateurs face au lobby des OGM
Logo de mon site
Logo de mon site
Faire un don




Right menu

Logo du site ez.no  Logo XHTML 1.O du W3C  Logo XHTML 1.O du W3C  Site francophone officiel de Firefox
zero papier grâce aux catalogues et promos en ligne de bonial

How to compile kernel Debian : compiler et installer un noyau Linux sous Debian

Table des matières

  1. Linux Debian kernel + Grub 2 : installation des sources du noyau Linux
  2. qconf : Configuration graphique des options du noyau Linux
  3. Linux Debian kernel + Grub 2 : compiler le noyau Linux à la main
  4. Linux Debian kernel + Grub 2 : installation du package contenant le nouveau noyau Linux
  5. Linux Debian kernel + driver nvidia : compilation du driver nvidia pour le nouveau noyau Linux
  6. Debian noyau 2.6.37: «make xconfig» et erreur «scripts/kconfig/qconf.moc error»

Debian «make xconfig error» avec kernel 2.6.37

Date de publication: le vendredi 26 août 2011 à 14h47
Dernière modification: par Pascal BOYER le vendredi 23 décembre 2011 à 12h12

Linux kernel 2.6.37+ : make xconfig error engendre l'erreur scripts/kconfig/qconf.moc error

Si après avoir téléchargé les sources d'un noyau (version supérieure à 2.6.37 sur kernel.org , la commande make xconfig renvoie une série de messages d'erreur du type:

make xconfig

HOSTCXX scripts/kconfig/qconf.o
Dans le fichier inclus à partir de scripts/kconfig/qconf.cc:48:
scripts/kconfig/qconf.moc:13:34: erreur: private/qucomextra_p.h : Aucun fichier ou dossier de ce type
scripts/kconfig/qconf.moc:15:2: erreur: #error "This file was generated using the moc from 3.3.8b. It"
scripts/kconfig/qconf.moc:16:2: erreur: #error "cannot be used with the include files from this version of Qt."
scripts/kconfig/qconf.moc:17:2: erreur: #error "(The moc has changed too much.)"
scripts/kconfig/qconf.moc:120:28: erreur: qsignalslotimp.h : Aucun fichier ou dossier de ce type
In file included from scripts/kconfig/qconf.cc:48:
scripts/kconfig/qconf.moc:20: erreur: no ‘const char* ConfigList::className() const’ member function declared in class ‘ConfigList’
scripts/kconfig/qconf.moc:25: erreur: ‘QMetaObject* ConfigList::metaObj’ is not a static member of ‘class ConfigList’
scripts/kconfig/qconf.moc:26: erreur: ‘QMetaObjectCleanUp’ does not name a type
scripts/kconfig/qconf.moc:29: erreur: redefinition of ‘static QString ConfigList::tr(const char*, const char*)’
scripts/kconfig/qconf.h:50: erreur: ‘static QString ConfigList::tr(const char*, const char*)’ previously defined here
etc...
etc...
etc...
etc...
make[1]: *** [scripts/kconfig/qconf.o] Erreur 1
make: *** [xconfig] Erreur 2
 

alors cela indique qu'il y a un problème dans la version du binaire moc utilisée par le système. Vous devrez très certainement passer de la version moc-qt3 à la version moc-qt4. Pour ce faire, lancez d'abord cette commande:

ls -la /etc/alternatives/moc*

lrwxrwxrwx 1 root root 16 23 mai   20:10 /etc/alternatives/moc -> /usr/bin/moc-qt3
lrwxrwxrwx 1 root root 32 23 mai   20:10 /etc/alternatives/moc.1.gz -> /usr/share/man/man1/moc-qt3.1.gz
 

qui confirme que c'est bien la version qt3 qui est utilisée. Le binaire moc-qt3 est installé par le package qt3-dev-tools.

La mise à jour de ce binaire sera réalisée par la commande suivante:

update-alternatives --config moc

Il existe 2 choix pour l'alternative moc (qui fournit /usr/bin/moc).
 
  Sélection   Chemin            Priorité  État
------------------------------------------------------------
* 0            /usr/bin/moc-qt3   45        mode automatique
  1            /usr/bin/moc-qt3   45        mode manuel
  2            /usr/bin/moc-qt4   40        mode manuel
 
Appuyez sur <Entrée> pour conserver la valeur par défaut[*] ou choisissez le numéro sélectionné&nbsp;:2
update-alternatives: utilisation de « /usr/bin/moc-qt4 » pour fournir « /usr/bin/moc » (moc) en mode manuel.
 

Le binaire moc-qt4 est installé par le package libqt4-dev.

Afin de pouvoir compiler votre noyau, vous devez dans un premier temps supprimer les effets d'une première exécution de la commande make xconfig:

make distclean

 CLEAN scripts/basic
 CLEAN scripts/kconfig
 CLEAN include/config

Vous pouvez à présent relancer:

make xconfig

Commentaires