Vou demonstrar como fica fácil o usuário compilar um kernel do "jeitinho" Debian. Muito mole!
Primeiro devemos obter um pacote essencial no processo: o kernel-package. Sem ele não será possível a compilação.
# apt-get install kernel-package
Antes da compilação, teremos de escolher o método que mais nos agrada para configurar os parâmetros do kernel. Existem dois modos: Menuconfig e Xconfig. Explicando rapidamente, o Menuconfig é indicado para pessoas mais experientes que já sabem o que desejam do kernel e é apresentado em modo texto. Já o Xconfig é bem mais intuitivo, nos dá explicações mais à mostra sobre os módulos e para que servem. Indico este último pela clareza com que se apresenta na tela, embora ambos façam exatamente a mesma coisa.
Se for usar o Menuconfig, instale:
# apt-get install libncurses5-dev
No caso do Xconfig:
# apt-get install libqt3-mt-dev
OBS: Algumas dependências serão instaladas automaticamente.
Vamos escolher o kernel a ser compilado. Visite o site:
E faça o download do kernel clicando em cima do arquivo linux-2.6.13.2.tar.bz2.
Descompacte-o em /usr/src com o comando:
# tar xvjf linux-2.6.13.2.tar.bz2 -C /usr/src
Um diretório linux-2.6.13.2 foi criado. Agora crie um link para este diretório, e depois entre nele:
$ cd /usr/src # ln -s linux-2.6.13.2 linux # cd linux
OBS-2: Se você quiser manter as configurações atuais do seu kernel no que está prestes a compilar, faça o seguinte (senão pule para o próximo comando):
# cp /boot/config-2[pressione TAB] .config # make xconfig
Uma tela com os parâmetros do kernel surgirá. Clique em - File - Load - e carregue aquele arquivo de configuração antigo (caso tenha o feito). Esta parte é importante, pois você deve saber o que fazer e conhecer seu hardware, afim de não carregar drivers desnecessários ou esquecer os fundamentais para o funcionamento da máquina, enfim, não tenha medo de errar, o máximo que acontecerá é perder tempo, já que seu kernel funcional vai continuar na máquina e se errou algo, pode apagar este kernel do seu HD tão facilmente como apagaria um programa comum. Terminado, salve e feche.
Crie um pacote com seu novo kernel:
# make-kpkg --initrd kernel_image
Esta parte irá demorar. Ao terminar, saia do diretório atual:
$ cd ..
E instale seu kernel:
# dpkg-i kernel-image2.6.13.2.deb
Pronto! Nem nas configurações do gerenciador de boot terá que mexer, pois o Debian faz para você. Reinicie seu computador e verifique se ocorrerá algum erro, caso queira retirar o kernel do PC:
# apt-get remove --purge kernel-image2.6.13.2
Também pode apagar o download que fez e a pasta linux-2.6.13.2, pois não serão mais usados.
[1] Comentário enviado por removido em 02/11/2005 - 15:16h
Simples e direto, muito bem escrito, parabéns.
Eu só fiquei com uma dúvida, e os módulos ? Posso sugerir uma continuação envolvendo a compilação dos módulos do jeito Debian (se é que existe tal artíficio no estilo Debian)
[3] Comentário enviado por percival em 03/11/2005 - 16:15h
Isso mesmo, Renan...
Embora eu tenha apenas testado esta dica, prefiro compilar do zero mesmo porque sempre tem um monte de coisas que não uso no kernel... não as coloco nem como modulo, e que por padrão vem "habilitadas"...
[6] Comentário enviado por zepadov em 11/11/2005 - 14:07h
Opa. Parabéns pelo artigo, mas estou com um probleminha. Quando tento construir a imagem, (#make-kpkg -initrd kernel_image), recebo o seguinte erro:
test -f stamp-configure || /usr/bin/make -f /usr/share/kernel-package/rules configure
/usr/bin/make ARCH=i386 \
bzImage
make[1]: Entering directory `/usr/src/kernel-headers-2.6.12-3-multimedia-686'
CHK include/linux/version.h
make[2]: *** Sem regra para processar o alvo `init/main.o', necessário por `init/built-in.o'. Pare.
make[1]: ** [init] Erro 2
make[1]: Leaving directory `/usr/src/kernel-headers-2.6.12-3-multimedia-686'
make: ** [stamp-build] Erro 2
...
[7] Comentário enviado por kayohf em 14/11/2005 - 06:17h
Me ajudou bastante isso, mas como é a primeira vez que tento recompilar o kernel não sabia que tinha que configurar logo no inicio pra aceitar a configuração do .config, e não seria: cp /boot/config-2[TAB] /usr/src/[kernel-versao]/.config ?
[16] Comentário enviado por Tjdestroyer em 26/10/2007 - 16:20h
Bom, primeiramente parabens pela dica, nunca imaginei que compila o kernel seria tão fácil assim, mas seguindo essa sua dica, fiz tudo como descrito e instalou normalmente, mas qdo reinicio a maquina, aparece uma msg: "ALERT! /dev/sda1 does not exist. Dropping to a shell!" e em seguida aparece o seguinte texto:
bin/sh: can't access tty; job control turned off
(initramfs)
Alguém sabe o que posso ter esquecido de configurar?
Estou utilizando o Debian 4.0 netinst com o kernel 2.6.18-5-486 e atualizando para o kernel 2.6.23.1
Pentium 4 3.0Ghz 512mb Disco SCSI (rodando pelo vmware)
[17] Comentário enviado por bryan em 07/11/2007 - 09:41h
Também estou tendo o mesmo problema...
Instalei o 2.6.23 e estou recebendo essa mensagem quando tento bootar o novo kernel.
Um detalhe importante é que o kernel antigo (2.6.18) continua bootando normalmente. Alguém tem idéia do que isso pode significar?
[18] Comentário enviado por Tjdestroyer em 19/11/2007 - 07:58h
Resolvi o problema, no meu caso era algum tipo de bug do vmware, pois peguei uma versão mais nova do vmware server (1.0.4) segui todos os passos desta dica e funcionou perfeitamente. Caso vc esteja utilizando o vmware 1.0.3, bryan, recomendo atualizar para o 1.0.4.
[27] Comentário enviado por vjorge em 07/07/2010 - 08:29h
IHEX2FW firmware/keyspan_pda/keyspan_pda.fw
IHEX2FW firmware/keyspan_pda/xircom_pgs.fw
make[1]: Saindo do diretório `/usr/src/linux-2.6.32.16'
/usr/bin/make ARCH=i386 \
-C Documentation/lguest
make[1]: Entrando no diretório `/usr/src/linux-2.6.32.16/Documentation/lguest'
cc -m32 -Wall -Wmissing-declarations -Wmissing-prototypes -O3 -I../../include -I../../arch/x86/include -U_FORTIFY_SOURCE lguest.c -o lguest
lguest.c:21:25: error: sys/eventfd.h: Arquivo ou diretório não encontrado
lguest.c: In function 'create_thread':
lguest.c:1027: warning: implicit declaration of function 'eventfd'
make[1]: ** [lguest] Erro 1
make[1]: Saindo do diretório `/usr/src/linux-2.6.32.16/Documentation/lguest'
make: ** [debian/stamp/build/kernel] Erro 2
Desculpem novamente eu também ressuscitar este tópico... mas alguém poderia se pronuciar com relação a este erro? vejo que várias pessoas tiveram este erro.... autor???
[28] Comentário enviado por welington27 em 25/01/2012 - 10:46h
Amigão na hora que abri o make xconfig gerou esse erro grotesco aqui o que significa???
make xconfig
HOSTCXX scripts/kconfig/qconf.o
In file included from scripts/kconfig/qconf.cc:48:
scripts/kconfig/qconf.moc:13:34: error: private/qucomextra_p.h: Arquivo ou diretório não encontrado
scripts/kconfig/qconf.moc:15:2: error: #error "This file was generated using the moc from 3.3.8b. It"
scripts/kconfig/qconf.moc:16:2: error: #error "cannot be used with the include files from this version of Qt."
scripts/kconfig/qconf.moc:17:2: error: #error "(The moc has changed too much.)"
scripts/kconfig/qconf.moc:120:28: error: qsignalslotimp.h: Arquivo ou diretório não encontrado
In file included from scripts/kconfig/qconf.cc:48:
scripts/kconfig/qconf.moc:20: error: no ‘const char* ConfigList::className() const’ member function declared in class ‘ConfigList’
scripts/kconfig/qconf.moc:25: error: ‘QMetaObject* ConfigList::metaObj’ is not a static member of ‘class ConfigList’
scripts/kconfig/qconf.moc:26: error: ‘QMetaObjectCleanUp’ does not name a type
scripts/kconfig/qconf.moc:29: error: redefinition of ‘static QString ConfigList::tr(const char*, const char*)’
scripts/kconfig/qconf.h:50: error: ‘static QString ConfigList::tr(const char*, const char*)’ previously defined here
scripts/kconfig/qconf.moc:37: error: redefinition of ‘static QString ConfigList::trUtf8(const char*, const char*)’
scripts/kconfig/qconf.h:50: error: ‘static QString ConfigList::trUtf8(const char*, const char*)’ previously defined here
scripts/kconfig/qconf.moc:48: error: no ‘QMetaObject* ConfigList::staticMetaObject()’ member function declared in class ‘ConfigList’
scripts/kconfig/qconf.moc:112: error: no ‘void* ConfigList::qt_cast(const char*)’ member function declared in class ‘ConfigList’
In file included from scripts/kconfig/qconf.cc:48:
scripts/kconfig/qconf.moc: In member function ‘void ConfigList::menuChanged(menu*)’:
scripts/kconfig/qconf.moc:127: error: ‘QConnectionList’ was not declared in this scope
scripts/kconfig/qconf.moc:127: error: ‘clist’ was not declared in this scope
scripts/kconfig/qconf.moc:127: error: no match for call to ‘(const QMetaObject) ()’
scripts/kconfig/qconf.moc:130: error: ‘QUObject’ was not declared in this scope
scripts/kconfig/qconf.moc:130: error: expected ‘;’ before ‘o’
scripts/kconfig/qconf.moc:131: error: ‘static_QUType_ptr’ was not declared in this scope
scripts/kconfig/qconf.moc:131: error: ‘o’ was not declared in this scope
scripts/kconfig/qconf.moc:132: error: ‘activate_signal’ was not declared in this scope
scripts/kconfig/qconf.moc: In member function ‘void ConfigList::menuSelected(menu*)’:
scripts/kconfig/qconf.moc:140: error: ‘QConnectionList’ was not declared in this scope
scripts/kconfig/qconf.moc:140: error: ‘clist’ was not declared in this scope
scripts/kconfig/qconf.moc:140: error: no match for call to ‘(const QMetaObject) ()’
scripts/kconfig/qconf.moc:143: error: ‘QUObject’ was not declared in this scope
scripts/kconfig/qconf.moc:143: error: expected ‘;’ before ‘o’
scripts/kconfig/qconf.moc:144: error: ‘static_QUType_ptr’ was not declared in this scope
scripts/kconfig/qconf.moc:144: error: ‘o’ was not declared in this scope
scripts/kconfig/qconf.moc:145: error: ‘activate_signal’ was not declared in this scope
scripts/kconfig/qconf.moc: In member function ‘void ConfigList::parentSelected()’:
scripts/kconfig/qconf.moc:151: error: no match for call to ‘(const QMetaObject) ()’
scripts/kconfig/qconf.moc:151: error: ‘activate_signal’ was not declared in this scope
scripts/kconfig/qconf.moc: In member function ‘void ConfigList::gotFocus(menu*)’:
scripts/kconfig/qconf.moc:159: error: ‘QConnectionList’ was not declared in this scope
scripts/kconfig/qconf.moc:159: error: ‘clist’ was not declared in this scope
scripts/kconfig/qconf.moc:159: error: no match for call to ‘(const QMetaObject) ()’
scripts/kconfig/qconf.moc:162: error: ‘QUObject’ was not declared in this scope
scripts/kconfig/qconf.moc:162: error: expected ‘;’ before ‘o’
scripts/kconfig/qconf.moc:163: error: ‘static_QUType_ptr’ was not declared in this scope
scripts/kconfig/qconf.moc:163: error: ‘o’ was not declared in this scope
scripts/kconfig/qconf.moc:164: error: ‘activate_signal’ was not declared in this scope
scripts/kconfig/qconf.moc: At global scope:
scripts/kconfig/qconf.moc:167: error: ‘QUObject’ has not been declared
scripts/kconfig/qconf.moc:167: error: no ‘bool ConfigList::qt_invoke(int, int*)’ member function declared in class ‘ConfigList’
scripts/kconfig/qconf.moc:182: error: ‘QUObject’ has not been declared
scripts/kconfig/qconf.moc:182: error: no ‘bool ConfigList::qt_emit(int, int*)’ member function declared in class ‘ConfigList’
scripts/kconfig/qconf.moc:196: error: no ‘bool ConfigList::qt_property(int, int, QVariant*)’ member function declared in class ‘ConfigList’
scripts/kconfig/qconf.moc:201: error: no ‘bool ConfigList::qt_static_property(QObject*, int, int, QVariant*)’ member function declared in class ‘ConfigList’
scripts/kconfig/qconf.moc:205: error: no ‘const char* ConfigLineEdit::className() const’ member function declared in class ‘ConfigLineEdit’
scripts/kconfig/qconf.moc:210: error: ‘QMetaObject* ConfigLineEdit::metaObj’ is not a static member of ‘class ConfigLineEdit’
scripts/kconfig/qconf.moc:211: error: ‘QMetaObjectCleanUp’ does not name a type
scripts/kconfig/qconf.moc:214: error: redefinition of ‘static QString ConfigLineEdit::tr(const char*, const char*)’
scripts/kconfig/qconf.h:203: error: ‘static QString ConfigLineEdit::tr(const char*, const char*)’ previously defined here
scripts/kconfig/qconf.moc:222: error: redefinition of ‘static QString ConfigLineEdit::trUtf8(const char*, const char*)’
scripts/kconfig/qconf.h:203: error: ‘static QString ConfigLineEdit::trUtf8(const char*, const char*)’ previously defined here
scripts/kconfig/qconf.moc:233: error: no ‘QMetaObject* ConfigLineEdit::staticMetaObject()’ member function declared in class ‘ConfigLineEdit’
scripts/kconfig/qconf.moc:251: error: no ‘void* ConfigLineEdit::qt_cast(const char*)’ member function declared in class ‘ConfigLineEdit’
scripts/kconfig/qconf.moc:258: error: ‘QUObject’ has not been declared
scripts/kconfig/qconf.moc:258: error: no ‘bool ConfigLineEdit::qt_invoke(int, int*)’ member function declared in class ‘ConfigLineEdit’
scripts/kconfig/qconf.moc:263: error: ‘QUObject’ has not been declared
scripts/kconfig/qconf.moc:263: error: no ‘bool ConfigLineEdit::qt_emit(int, int*)’ member function declared in class ‘ConfigLineEdit’
scripts/kconfig/qconf.moc:269: error: no ‘bool ConfigLineEdit::qt_property(int, int, QVariant*)’ member function declared in class ‘ConfigLineEdit’
scripts/kconfig/qconf.moc:274: error: no ‘bool ConfigLineEdit::qt_static_property(QObject*, int, int, QVariant*)’ member function declared in class ‘ConfigLineEdit’
scripts/kconfig/qconf.moc:278: error: no ‘const char* ConfigView::className() const’ member function declared in class ‘ConfigView’
scripts/kconfig/qconf.moc:283: error: ‘QMetaObject* ConfigView::metaObj’ is not a static member of ‘class ConfigView’
scripts/kconfig/qconf.moc:284: error: ‘QMetaObjectCleanUp’ does not name a type
scripts/kconfig/qconf.moc:287: error: redefinition of ‘static QString ConfigView::tr(const char*, const char*)’
scripts/kconfig/qconf.h:219: error: ‘static QString ConfigView::tr(const char*, const char*)’ previously defined here
scripts/kconfig/qconf.moc:295: error: redefinition of ‘static QString ConfigView::trUtf8(const char*, const char*)’
scripts/kconfig/qconf.h:219: error: ‘static QString ConfigView::trUtf8(const char*, const char*)’ previously defined here
scripts/kconfig/qconf.moc:306: error: no ‘QMetaObject* ConfigView::staticMetaObject()’ member function declared in class ‘ConfigView’
scripts/kconfig/qconf.moc:363: error: no ‘void* ConfigView::qt_cast(const char*)’ member function declared in class ‘ConfigView’
scripts/kconfig/qconf.moc: In member function ‘void ConfigView::showNameChanged(bool)’:
scripts/kconfig/qconf.moc:373: error: no match for call to ‘(const QMetaObject) ()’
scripts/kconfig/qconf.moc:373: error: ‘activate_signal_bool’ was not declared in this scope
scripts/kconfig/qconf.moc: In member function ‘void ConfigView::showRangeChanged(bool)’:
scripts/kconfig/qconf.moc:379: error: no match for call to ‘(const QMetaObject) ()’
scripts/kconfig/qconf.moc:379: error: ‘activate_signal_bool’ was not declared in this scope
scripts/kconfig/qconf.moc: In member function ‘void ConfigView::showDataChanged(bool)’:
scripts/kconfig/qconf.moc:385: error: no match for call to ‘(const QMetaObject) ()’
scripts/kconfig/qconf.moc:385: error: ‘activate_signal_bool’ was not declared in this scope
scripts/kconfig/qconf.moc: At global scope:
scripts/kconfig/qconf.moc:388: error: ‘QUObject’ has not been declared
scripts/kconfig/qconf.moc:388: error: no ‘bool ConfigView::qt_invoke(int, int*)’ member function declared in class ‘ConfigView’
scripts/kconfig/qconf.moc:401: error: ‘QUObject’ has not been declared
scripts/kconfig/qconf.moc:401: error: no ‘bool ConfigView::qt_emit(int, int*)’ member function declared in class ‘ConfigView’
scripts/kconfig/qconf.moc:414: error: no ‘bool ConfigView::qt_property(int, int, QVariant*)’ member function declared in class ‘ConfigView’
scripts/kconfig/qconf.moc:419: error: no ‘bool ConfigView::qt_static_property(QObject*, int, int, QVariant*)’ member function declared in class ‘ConfigView’
scripts/kconfig/qconf.moc:423: error: no ‘const char* ConfigInfoView::className() const’ member function declared in class ‘ConfigInfoView’
scripts/kconfig/qconf.moc:428: error: ‘QMetaObject* ConfigInfoView::metaObj’ is not a static member of ‘class ConfigInfoView’
scripts/kconfig/qconf.moc:429: error: ‘QMetaObjectCleanUp’ does not name a type
scripts/kconfig/qconf.moc:432: error: redefinition of ‘static QString ConfigInfoView::tr(const char*, const char*)’
scripts/kconfig/qconf.h:252: error: ‘static QString ConfigInfoView::tr(const char*, const char*)’ previously defined here
scripts/kconfig/qconf.moc:440: error: redefinition of ‘static QString ConfigInfoView::trUtf8(const char*, const char*)’
scripts/kconfig/qconf.h:252: error: ‘static QString ConfigInfoView::trUtf8(const char*, const char*)’ previously defined here
scripts/kconfig/qconf.moc:451: error: no ‘QMetaObject* ConfigInfoView::staticMetaObject()’ member function declared in class ‘ConfigInfoView’
scripts/kconfig/qconf.moc:495: error: no ‘void* ConfigInfoView::qt_cast(const char*)’ member function declared in class ‘ConfigInfoView’
scripts/kconfig/qconf.moc: In member function ‘void ConfigInfoView::showDebugChanged(bool)’:
scripts/kconfig/qconf.moc:505: error: no match for call to ‘(const QMetaObject) ()’
scripts/kconfig/qconf.moc:505: error: ‘activate_signal_bool’ was not declared in this scope
scripts/kconfig/qconf.moc: In member function ‘void ConfigInfoView::menuSelected(menu*)’:
scripts/kconfig/qconf.moc:513: error: ‘QConnectionList’ was not declared in this scope
scripts/kconfig/qconf.moc:513: error: ‘clist’ was not declared in this scope
scripts/kconfig/qconf.moc:513: error: no match for call to ‘(const QMetaObject) ()’
scripts/kconfig/qconf.moc:516: error: ‘QUObject’ was not declared in this scope
scripts/kconfig/qconf.moc:516: error: expected ‘;’ before ‘o’
scripts/kconfig/qconf.moc:517: error: ‘static_QUType_ptr’ was not declared in this scope
scripts/kconfig/qconf.moc:517: error: ‘o’ was not declared in this scope
scripts/kconfig/qconf.moc:518: error: ‘activate_signal’ was not declared in this scope
scripts/kconfig/qconf.moc: At global scope:
scripts/kconfig/qconf.moc:521: error: ‘QUObject’ has not been declared
scripts/kconfig/qconf.moc:521: error: no ‘bool ConfigInfoView::qt_invoke(int, int*)’ member function declared in class ‘ConfigInfoView’
scripts/kconfig/qconf.moc:533: error: ‘QUObject’ has not been declared
scripts/kconfig/qconf.moc:533: error: no ‘bool ConfigInfoView::qt_emit(int, int*)’ member function declared in class ‘ConfigInfoView’
scripts/kconfig/qconf.moc:545: error: no ‘bool ConfigInfoView::qt_property(int, int, QVariant*)’ member function declared in class ‘ConfigInfoView’
scripts/kconfig/qconf.moc:550: error: no ‘bool ConfigInfoView::qt_static_property(QObject*, int, int, QVariant*)’ member function declared in class ‘ConfigInfoView’
scripts/kconfig/qconf.moc:554: error: no ‘const char* ConfigSearchWindow::className() const’ member function declared in class ‘ConfigSearchWindow’
scripts/kconfig/qconf.moc:559: error: ‘QMetaObject* ConfigSearchWindow::metaObj’ is not a static member of ‘class ConfigSearchWindow’
scripts/kconfig/qconf.moc:560: error: ‘QMetaObjectCleanUp’ does not name a type
scripts/kconfig/qconf.moc:563: error: redefinition of ‘static QString ConfigSearchWindow::tr(const char*, const char*)’
scripts/kconfig/qconf.h:282: error: ‘static QString ConfigSearchWindow::tr(const char*, const char*)’ previously defined here
scripts/kconfig/qconf.moc:571: error: redefinition of ‘static QString ConfigSearchWindow::trUtf8(const char*, const char*)’
scripts/kconfig/qconf.h:282: error: ‘static QString ConfigSearchWindow::trUtf8(const char*, const char*)’ previously defined here
scripts/kconfig/qconf.moc:582: error: no ‘QMetaObject* ConfigSearchWindow::staticMetaObject()’ member function declared in class ‘ConfigSearchWindow’
scripts/kconfig/qconf.moc:606: error: no ‘void* ConfigSearchWindow::qt_cast(const char*)’ member function declared in class ‘ConfigSearchWindow’
scripts/kconfig/qconf.moc:613: error: ‘QUObject’ has not been declared
scripts/kconfig/qconf.moc:613: error: no ‘bool ConfigSearchWindow::qt_invoke(int, int*)’ member function declared in class ‘ConfigSearchWindow’
scripts/kconfig/qconf.moc:624: error: ‘QUObject’ has not been declared
scripts/kconfig/qconf.moc:624: error: no ‘bool ConfigSearchWindow::qt_emit(int, int*)’ member function declared in class ‘ConfigSearchWindow’
scripts/kconfig/qconf.moc:630: error: no ‘bool ConfigSearchWindow::qt_property(int, int, QVariant*)’ member function declared in class ‘ConfigSearchWindow’
scripts/kconfig/qconf.moc:635: error: no ‘bool ConfigSearchWindow::qt_static_property(QObject*, int, int, QVariant*)’ member function declared in class ‘ConfigSearchWindow’
scripts/kconfig/qconf.moc:639: error: no ‘const char* ConfigMainWindow::className() const’ member function declared in class ‘ConfigMainWindow’
scripts/kconfig/qconf.moc:644: error: ‘QMetaObject* ConfigMainWindow::metaObj’ is not a static member of ‘class ConfigMainWindow’
scripts/kconfig/qconf.moc:645: error: ‘QMetaObjectCleanUp’ does not name a type
scripts/kconfig/qconf.moc:648: error: redefinition of ‘static QString ConfigMainWindow::tr(const char*, const char*)’
scripts/kconfig/qconf.h:302: error: ‘static QString ConfigMainWindow::tr(const char*, const char*)’ previously defined here
scripts/kconfig/qconf.moc:656: error: redefinition of ‘static QString ConfigMainWindow::trUtf8(const char*, const char*)’
scripts/kconfig/qconf.h:302: error: ‘static QString ConfigMainWindow::trUtf8(const char*, const char*)’ previously defined here
scripts/kconfig/qconf.moc:667: error: no ‘QMetaObject* ConfigMainWindow::staticMetaObject()’ member function declared in class ‘ConfigMainWindow’
scripts/kconfig/qconf.moc:724: error: no ‘void* ConfigMainWindow::qt_cast(const char*)’ member function declared in class ‘ConfigMainWindow’
scripts/kconfig/qconf.moc:731: error: ‘QUObject’ has not been declared
scripts/kconfig/qconf.moc:731: error: no ‘bool ConfigMainWindow::qt_invoke(int, int*)’ member function declared in class ‘ConfigMainWindow’
scripts/kconfig/qconf.moc:754: error: ‘QUObject’ has not been declared
scripts/kconfig/qconf.moc:754: error: no ‘bool ConfigMainWindow::qt_emit(int, int*)’ member function declared in class ‘ConfigMainWindow’
scripts/kconfig/qconf.moc:760: error: no ‘bool ConfigMainWindow::qt_property(int, int, QVariant*)’ member function declared in class ‘ConfigMainWindow’
scripts/kconfig/qconf.moc:765: error: no ‘bool ConfigMainWindow::qt_static_property(QObject*, int, int, QVariant*)’ member function declared in class ‘ConfigMainWindow’
make[1]: ** [scripts/kconfig/qconf.o] Erro 1
make: ** [xconfig] Erro 2