Table des matières
- Linux Debian kernel + Grub 2 : installation des sources du noyau Linux
- qconf : Configuration graphique des options du noyau Linux
- Linux Debian kernel + Grub 2 : compiler le noyau Linux à la main
- Linux Debian kernel + Grub 2 : installation du package contenant le nouveau noyau Linux
- Linux Debian kernel + driver nvidia : compilation du driver nvidia pour le nouveau noyau Linux
- 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é :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














