내 /usr/include/sys 디렉토리는 어디에 있나요?

내 /usr/include/sys 디렉토리는 어디에 있나요?

최근에 Kubuntu 12.04에서 13.04로 업그레이드하여 완전히 다시 설치했습니다.

gcc 4.7.3 사용. 디렉토리 가 없다는 것을 발견하기 위해 일부 프로그램을 컴파일했습니다 /usr/include/sys. 즉, types.h, stat.h, 등이 없습니다. 디렉토리 에는 존재 include/linux하지만 include/sys.

무슨 일이야?

답변1

64비트에서 Ubuntu를 사용하는 경우(지금은 32비트 시스템에서 정확하게 문자 메시지를 보낼 수 없음) 질문의 디렉터리는 다음과 같습니다.

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

/usr/include/sys이제 이 정보가 있으면 터미널에서 다음을 사용하여 해당 위치( )에 실제로 필요한 경우 해당 파일에 대한 심볼릭 링크를 만들 수 있습니다 .

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

답변2

64비트 Linux에서 작업하는 경우 libc6-dev-amd64를 설치하십시오. 우분투 터미널에 다음 명령을 입력하세요.

sudo apt-get install libc6-dev-amd64

답변3

gcc의 기본 포함 검색 경로가 무엇인지 확인해 보겠습니다. 에서이 답변, 우리는 다음 명령을 얻습니다.

gcc -xc -E -v -

출력이 끝나면 내 컴퓨터에 다음이 표시됩니다.

ignoring nonexistent directory "/usr/local/include/x86_64-linux-gnu"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-linux-gnu/4.8/../../../../x86_64-linux-gnu/include"
#include "..." search starts here:
#include <...> search starts here:
 /usr/lib/gcc/x86_64-linux-gnu/4.8/include
 /usr/local/include
 /usr/lib/gcc/x86_64-linux-gnu/4.8/include-fixed
 /usr/include/x86_64-linux-gnu
 /usr/include

마지막에서 두 번째 줄을 주목하세요. 즉, 를 사용하여 C 파일을 컴파일할 때 gcc는 아무 것도 심볼릭 링크할 필요 없이 시도하기 전에 을 #include <sys/stat.h>찾습니다 ./usr/include/x86_64-linux-gnu/sys/stat.h/usr/include/sys/stat.h

답변4

내 아키텍처는 amd64이므로 libc6-dev-amd64. 설치할 패키지는 libc6-dev-i386.

CPAN 패키지에 대한 종속성을 수정했습니다.

관련 정보