Postei em outro site, então espero que não seja uma postagem cruzada:
Eu tenho algumas versões do gcc e g++ no meu Ubuntu 16.04 que seleciono com configuração alternativa. Ao compilar uma fonte muito simples, o compilador não consegue encontrar os cabeçalhos. (stddef.h: Esse arquivo ou diretório não existe)
Após investigação, as instalações do gcc não possuem um diretório completo, por exemplo:
usr/lib/gcc/x86_64-linux-gnu/4.8 tem um diretório de inclusão com cc1.exe
enquanto:
usr/lib/gcc/x86_64-linux-gnu/4.7 não tinha diretório de inclusão e nem cc1.exe (apenas um cc1plus.exe)
Reinstalei o 4.7, mas não consigo fazer com que seja uma instalação completa, alguma ajuda?
Obrigado
Ema
Responder1
Você pode ver quais pacotes fornecem esses componentes usando dpkg -S
, por exemplo
$ dpkg -S /usr/lib/gcc/x86_64-linux-gnu/4.7/cc1 /usr/lib/gcc/x86_64-linux-gnu/4.7/include
cpp-4.7: /usr/lib/gcc/x86_64-linux-gnu/4.7/cc1
libgcc-4.7-dev:amd64: /usr/lib/gcc/x86_64-linux-gnu/4.7/include
Ambos cpp-4.7
e libgcc-4.7-dev
deveriam ter sido instalados como dependências, gcc-4.7
porém é possível que os arquivos tenham sido excluídos manualmente - tente reinstalar esses pacotes, ou seja
sudo apt-get install --reinstall cpp-4.7 libgcc-4.7-dev