Após UPDATE, recebo: “nenhuma regra para construir o alvo” rodando MAKE, por quê?

2

Eu freqüentemente executo o gerenciador de atualizações do Ubuntu ,
e depois disso, todas as vezes, eu preciso fazer um make para reinstalar meu driver de sintonizador de TV ( como descrito aqui )

Mas, dessa vez, make pára com erros:
As seguintes mensagens de erro são traduzidas do francês

$ make
make -C /lib/modules/3.2.0-53-generic-pae/build M= modules
make[1]: entering in folder « /usr/src/linux-headers-3.2.0-53-generic-pae »
make[2]: *** No rule to build the target « arch/x86/tools/relocs.c », needed for « arch/x86/tools/relocs ». Stop.
make[1]: *** [archscripts] Erreur 2
make[1]: exiting folder « /usr/src/linux-headers-3.2.0-53-generic-pae »
make: *** [all] Erreur 2

Como posso resolver este erro, por favor?

Para informações :

  • A versão do Ubuntu é 12.04 (precisa)
  • O Kernel Linux é 3.2.0-53-generic-pae
  • Conteúdo de /usr/src/linux-headers-3.2.0-53-generic/arch/x86/
    é semelhante a /usr/src/linux-headers-3.2.0-52-generic/arch/x86/

  • conteúdo da pasta /usr/src/linux-source-3.2.0 é

    $ ls -la /usr/src/linux-source-3.2.0
    total 78020
    drwxr-xr-x  4 root root     4096 sept. 21 08:44 .
    drwxr-xr-x 74 root root     4096 sept. 21 22:44 ..
    drwxr-xr-x 10 root root     4096 sept. 21 08:44 debian
    drwxr-xr-x  8 root root     4096 sept. 21 08:44 debian.master
    -rw-r--r--  1 root root 79874365 aug.  23 00:11 linux-source-3.2.0.tar.bz2
    

    e

    $ find /usr/src/linux-source-3.2.0 -name "relocs.c"
    

    não retorna nada

por Boris 22.09.2013 / 08:25

1 resposta

2

A pista para essa pergunta é essa parte da mensagem de erro:

  

make [2]: * Nenhuma regra para criar o alvo «arch / x86 / tools / relocs.c», necessário para «arch / x86 / tools / relocs». Pare.

O makefile está procurando por um módulo de código chamado relocs.c .

Agora, os módulos de código normalmente não existem nos cabeçalhos do kernel. Você precisa extrair a fonte do kernel primeiro e depois o Makefile tem algo para mastigar.

Vamos fazer isso.

Navegue até a pasta de origem do seu kernel:

cd /usr/src/linux-source-[version]

No seu caso, a versão do kernel [version] é 3.2.0 .

Relacione o conteúdo da pasta. Você deve ver um arquivo chamado linux-source-[version].tar.bz2 . N.B. como antes, substitua [version] pelo seu número de versão do kernel.

Se você não fizer isso, instale a fonte:

sudo apt-get install linux-source

Agora extraia a fonte:

sudo tar -jxvf linux-source-[version].tar.bz2

Então você deve poder completar sua compilação.

    
por fossfreedom 22.09.2013 / 10:45