최근에 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 패키지에 대한 종속성을 수정했습니다.