Por que os arquivos de cabeçalho linux instalados estão vazios?

3

Estou executando o 14.04, instalado em um disco rígido vazio. Os arquivos de cabeçalho do Linux estão instalados, mas os arquivos .h estão vazios. Eu posso ver que os arquivos aqui são todos de comprimento zero: /usr/src/linux-headers-3.13.0-37-generic/include/config .

Os arquivos de cabeçalho são instalados de acordo com:

> sudo apt-get install linux-headers-$(uname -r)
Reading package lists... Done
Building dependency tree
Reading state information... Done
linux-headers-3.13.0-37-generic is already the newest version.
0 upgraded, 0 newly installed, 0 to remove and 5 not upgraded.

Como posso realmente instalar os arquivos de cabeçalho, de modo que eles tenham um comprimento diferente de zero?

    
por Jeff 15.10.2014 / 01:46

1 resposta

6

Acabou de encontrar isto , de acordo com Kristof:

  

include / config não é usado para arquivos de cabeçalho. Faz parte de um   truque inteligente para otimizar a compilação do kernel.

     

A configuração do kernel (armazenada em .config) é usada para gerar   arquivo de cabeçalho que é usado em todo o kernel.   O problema é que mudar uma opção significa todos os arquivos que incluem   config.h precisará ser recriado, mesmo que a maioria deles não seja   afetada por essa opção.

     

Isso é resolvido removendo a dependência makefile no config.h e   substituindo-o por uma dependência em um dos arquivos em include / config.   Cada arquivo ali corresponde a uma opção de configuração. Sempre que   opção é alterada o sistema de configuração toca esse arquivo (atualizando   seu timestamp fazendo com que o make reconstrua todos os arquivos dependentes.

    
por lemonsqueeze 18.10.2014 / 11:11