Compilar kernel no Debian? Mamão com açúcar!

Publicado por Percival F. Jr. em 01/11/2005

[ Hits: 78.969 ]

Blog: http://www.debianbrasil.890m.com

 


Compilar kernel no Debian? Mamão com açúcar!



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:
Logo na entrada vemos o último kernel estável disponível, sendo que este você deve buscar. No momento que escrevi esta dica era o 2.6.13.2.

Pule para a página de download do kernel:
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.

Tranquilo, não?

Até mais,
Percival.

Outras dicas deste autor

4 redes P2P em 1 programa: Kazaa, Ares, OpenFT e Gnutella

Atualize o kernel do seu sistema com poucos cliques

Gimp não imprime? Solução.

Barra Guia FOCA Linux para o Firefox

Como trocar o nome de sua máquina - hostname

Leitura recomendada

Evitando problemas de Kernel Panic

Vídeo via chrome9 HC IGP

Dell com controladora PERC x Debian com Kernel 2.6.xx

Passos Rápidos - Compilação do Kernel

Como omitir/filtrar mensagens inúteis no log (rsyslogd)

  

Comentários
[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)

[2] Comentário enviado por Renan_ em 03/11/2005 - 15:59h

Se eu quiser usar a configuração atual mas adicionando algumas coisas novas a ela, como fazer? Copiar o .conf pra pasta e depois menu xconfig?
[]z

[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"...

Até mais.

[4] Comentário enviado por mbmaciel em 04/11/2005 - 07:43h

Esse foi pros favoritos

muito bom!
[]'s

[5] Comentário enviado por percival em 04/11/2005 - 12:50h

Obrigado pela força, mordecai, até mais.

[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
...

Alguém sabe como resolver?
Obrigado.
Zepadov

[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 ?

[8] Comentário enviado por percival em 12/01/2006 - 12:50h

Correção

Para descompactar o kernel:

# tar -xvjf linux-2.6.13.2.tar.bz2 -C /usr/src

[9] Comentário enviado por Bornslip em 16/08/2006 - 02:07h

perfeito
de prima

valeu!!!!!
ah.. segui os passos acima com a versao 2.6.17.8 do kernel

[10] Comentário enviado por Gaucho em 28/12/2006 - 13:24h

Desse modo funciona para o Ubuntu também? Alguém ae poderia me confirmar?

[11] Comentário enviado por tralsl em 03/03/2007 - 18:32h

gostei do artigo, naum tinha idéia de como compilar o kernel, vou tentar .
mas antes vou verificar outros artigos sobre :þ

[12] Comentário enviado por sprag em 29/04/2007 - 00:02h

otimo artigo, para quem quiser segue o link oficial com os varias versoes de kernel
http://packages.debian.org/unstable/source/linux-2.6

[13] Comentário enviado por gilbertocs em 29/06/2007 - 17:41h

Olá esse comando aqui naum deu certo..

# make-kpkg --initrd kernel_image

sabe dizer porque.. acho que foi o mesmo problema que o rapaz ai de cima apresentou

[14] Comentário enviado por juliaojunior em 04/07/2007 - 18:39h

make-kpkg --> make-dpkg?

[15] Comentário enviado por percival em 13/07/2007 - 20:32h

A dica funciona perfeitamente....

Não alucinem.

[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)

Obrigado!

[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.

[19] Comentário enviado por percival em 16/08/2008 - 09:38h

Só um adendo para quem for usar o xconfig... o nome do pacote necessário para isso mudou.

apt-get install libqt3-mt-dev

obrigado.

[20] Comentário enviado por rvalentini em 08/06/2009 - 01:51h

muito bom!!!
vlw

[21] Comentário enviado por brunogonsalves83 em 19/08/2009 - 12:55h

Realmente é facil mesmo, só me lasquei na hora da configurar o diver da nvidia (só podia ser mesmo, proprietário.)

[22] Comentário enviado por diegodcr em 08/10/2009 - 16:09h

Desculpe rescucitar o tópico mas deu um problema aqui na hora de compilar:

IHEX2FW firmware/keyspan_pda/xircom_pgs.fw
make[1]: Saindo do diretório `/usr/src/linux-2.6.31.3'
/usr/bin/make ARCH=i386 \
-C Documentation/lguest
make[1]: Entrando no diretório `/usr/src/linux-2.6.31.3/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:37:18: error: zlib.h: Arquivo ou diretório não encontrado
lguest.c: In function âcreate_threadâ:
lguest.c:1021: warning: implicit declaration of function âeventfdâ
make[1]: ** [lguest] Erro 1
make[1]: Saindo do diretório `/usr/src/linux-2.6.31.3/Documentation/lguest'
make: ** [debian/stamp/build/kernel] Erro 2
spdata:/usr/src/linux#
Display all 1137 possibilities? (y or n)

[23] Comentário enviado por tiagoskml em 13/10/2009 - 17:08h

De fato mas faço a mesma pergunta de nosso amigo la em cima, como fica os modulos? não precisa fazer nada?

[24] Comentário enviado por removido em 19/10/2009 - 21:33h

Muito Bom.
Continuem Assim.

[25] Comentário enviado por lelocrow em 15/11/2009 - 03:01h

Valew... ^^
ainda to meio confuso com alguns comandos do Terminal... e seu guia foi de grande ajuda... Brigadão...

[26] Comentário enviado por renato.v em 19/06/2010 - 18:36h

error: sys/eventfd.h: Arquivo ou diretório não encontrado

Para resolver:

# gedit /usr/src/linux-xxx/Documentation/lguest/Makefile

Na linha que está:

all: lguest


substitua por

all:


E pronto. O "lguest" não será mais compilado e o problema não ocorrerá mais. Recompile e siga as próximas instruções desse artigo que tudo dará certo.

[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???

Abr;

Vilson Jorge

[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

[29] Comentário enviado por rafaeloleg em 19/02/2012 - 14:53h

Como eu sei que Kernel do link descrito é 64 bits ou 32 bits?

http://www.kernel.org/pub/linux/kernel/v2.6/



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts