Onde está meu diretório / usr / include / sys?

8

Eu recentemente atualizei do Kubuntu 12.04 para o 13.04, uma reinstalação completa.

Usando o gcc 4.7.3. Eu compilei alguns programas para descobrir que não há diretório /usr/include/sys . Ou seja, types.h , stat.h , etc, estão ausentes. Eles existem no diretório include/linux , mas não em include/sys .

O que está acontecendo?

    
por Duck 01.02.2014 / 16:59

4 respostas

9

Se você usa o Ubuntu em 64 bits (não consigo escrever exatamente agora em um sistema de 32 bits), então o diretório da pergunta é:

/usr/include/x86_64-linux-gnu/sys

Agora, com essas informações, você pode criar links simbólicos para esses arquivos se realmente precisar deles nesse local ( /usr/include/sys ) usando isso em um terminal:

sudo ln -s /usr/include/x86_64-linux-gnu/sys/types.h /usr/include/sys/types.h
sudo ln -s /usr/include/x86_64-linux-gnu/sys/stat.h /usr/include/sys/stat.h

# ...etc
    
por Radu Rădeanu 01.02.2014 / 17:24
4

instale libc6-dev-amd64 se você estiver trabalhando em um linux de 64 bits. Digite o seguinte comando no terminal do ubuntu:

sudo apt-get install libc6-dev-amd64
    
por Nivedita Velagaleti 24.02.2016 / 20:06
0

o diretório sys é um diretório de cabeçalho do sistema unix / linux com muitos comandos do sistema. Diferentes marcas / versão linux podem colocá-lo em lugares diferentes. O seguinte comando pode ajudá-lo:

find /usr/include -type d -name sys
On my ubuntu 16 got the two
/usr/include/bsd/sys
/usr/include/x86_64-linux-gnu/sys

O primeiro é o lar dos cabeçalhos do sistema BSD unix.
O segundo é um diretório contendo cabeças de sistema Linux 64 bits.

Eu tive problemas com o cmake não sendo capaz de encontrar o arquivo sys / stat.h. Minha solução temporária é fazer um link simbólico

/user/local/include/sys/stat.h from /usr/include/x86_64-linux-gnu/sys/stat.h

Eu não quero poluir o diretório / usr / include, e estou apenas fazendo um link para um arquivo de cabeçalho em particular e não para todo o diretório sys. Eu acho que isso é um defeito de cmake, fazendo impacto mínimo fazendo apenas um link. Espero que isso possa ajudar aqueles que estão sofrendo do mesmo problema.

    
por Kemin Zhou 20.06.2017 / 20:08
0

Como minha arquitetura é amd64, não há libc6-dev-amd64 . O pacote a instalar é libc6-dev-i386 .

Isso corrigiu a dependência de um pacote CPAN.

    
por Jari Turkia 22.01.2018 / 11:38

Tags