Atualizei recentemente do Kubuntu 12.04 para 13.04, uma reinstalação completa.
Usando o gcc 4.7.3. Eu compilei alguns programas para descobrir que não há /usr/include/sys
diretório. Ou seja, types.h
, stat.h
, etc, estão ausentes. Eles existem no include/linux
diretório, mas não include/sys
.
O que está acontecendo?
Respostas:
Se você usa o Ubuntu em 64 bits (não posso escrever exatamente exatamente agora em um sistema de 32 bits), o diretório da pergunta é:
Agora, com essas informações, é possível criar links simbólicos para esses arquivos se você realmente precisar deles nesse local (
/usr/include/sys
) usando isso em um terminal:fonte
instale libc6-dev-amd64 se você estiver trabalhando em um linux de 64 bits. Digite o seguinte comando no terminal ubuntu:
fonte
o diretório sys é um diretório de cabeçalho do sistema unix / linux com muitos comandos do sistema. Diferentes marcas / versões linux podem colocá-lo em lugares diferentes. O seguinte comando pode ajudá-lo:
O primeiro é o lar dos cabeçalhos do sistema BSD unix.
O segundo é um diretório que contém cabeças de sistema Linux de 64 bits.
Estou com problemas com o cmake não conseguir encontrar o arquivo sys / stat.h. Minha solução temporária é fazer um link simbólico
Não quero poluir o diretório / usr / include e só estou criando um link para um arquivo de cabeçalho específico e não para o diretório sys inteiro. Eu acho que esse é um defeito do cmake, causando um impacto mínimo criando apenas um link. Espero que isso ajude aqueles que sofrem do mesmo problema.
fonte
Vamos verificar qual é o caminho de pesquisa padrão do gcc. A partir desta resposta , obtemos este comando:
No final da saída, vejo isso na minha máquina:
Observe a penúltima linha. Isso significa que, quando você compila um arquivo C
#include <sys/stat.h>
, o gcc procurará/usr/include/x86_64-linux-gnu/sys/stat.h
antes de tentar/usr/include/sys/stat.h
, sem que seja necessário desvincular nada.fonte
Como minha arquitetura é amd64, não há
libc6-dev-amd64
. O pacote para instalar élibc6-dev-i386
.Isso corrigiu a dependência de um pacote CPAN.
fonte