아마도 커널소스가 설치되지 않았거나, 설치되었어어도 config가 되어있지 않은 것 같네요.
uaccess 파일은 커널소스에 있고, 커널 소스의 일부 헤더(주로, 플랫폼에 의존적인 것들)는 config될 때 자동 생성됩니다.
커널소스에서 make xconfig 하시고 다시 해 보시면 될 것 같네요... ^^
커널 소스가 /usr/src/linux/ 에 있다면,
/usr/src/linux/include/asm 을 /usr/include/asm 으로 소프트 링크 시켜 주시면 될 것 같습니다.
그리고 모듈 프로그래밍할 때, asm 디렉토리 뿐 아니라 linux 디렉토리도 자주 쓰이는 것 같은데,
그 경우를 대비해서 /usr/src/linux/include/linux 를 /usr/include/linux 로 소프트 링크 시켜주시는 것도 좋을 듯 합니다.
커널 소스를 적당한데 풀어놓은 다음 make mrproper, make symlinks를
순차적으로 해주고 나서 컴파일시 -I<커널소스>/include 옵션을 추가하세요.
asm의 정체는 커널 소스의 include 디렉토리 보시면 asm-xxxx라는 디렉토리들이
보이는데 이것들은 다 CPU 아키텍쳐별로 고유한 헤더파일들입니다. 이들 중
하나를 심볼릭 링크하고 있는게 asm이고요.
정 안된다면 /usr/include 디렉토리 이하에 커널 헤더파일들이 설치되어 있는지
조사해 보시고요. (조사할꺼 -> linux 디렉토리, asm 디렉토리-asm 디렉토리는
asm 디렉토리 그대로 설치된경우도 있고, asm-i386 등등이 설치되고 여기에
링크걸린 경우도 있습니다.)
컴파일 옵션 문제 맞는거 같은데요.에러 메시지를 보기 전에는 머라구
컴파일 옵션 문제 맞는거 같은데요.
에러 메시지를 보기 전에는 머라구 말하기 그렇네요.
에러 메시지도 올려 주세요
Do you think that's the air you are breathing now?
답변감사드립니다. 에러부분 캡쳐한것 올립니다..
아마도 커널소스가 설치되지 않았거나, 설치되었어어도 config가 되어있
아마도 커널소스가 설치되지 않았거나, 설치되었어어도 config가 되어있지 않은 것 같네요.
uaccess 파일은 커널소스에 있고, 커널 소스의 일부 헤더(주로, 플랫폼에 의존적인 것들)는 config될 때 자동 생성됩니다.
커널소스에서 make xconfig 하시고 다시 해 보시면 될 것 같네요... ^^
제가 알기로도 그 파일은 커널 소스의 include 디렉토리에 있는 걸로
제가 알기로도 그 파일은 커널 소스의 include 디렉토리에 있는 걸로 아는데요..
커널 소스가 /usr/src/linux/ 에 있다면,
/usr/src/linux/include/asm 을 /usr/include/asm 으로 소프트 링크 시켜 주시면 될 것 같습니다.
그리고 모듈 프로그래밍할 때, asm 디렉토리 뿐 아니라 linux 디렉토리도 자주 쓰이는 것 같은데,
그 경우를 대비해서 /usr/src/linux/include/linux 를 /usr/include/linux 로 소프트 링크 시켜주시는 것도 좋을 듯 합니다.
제가 잘못 알고 있는 거라면 죄송합니다..;;
커널 소스를 적당한데 풀어놓은 다음 make mrproper, make
커널 소스를 적당한데 풀어놓은 다음 make mrproper, make symlinks를
순차적으로 해주고 나서 컴파일시 -I<커널소스>/include 옵션을 추가하세요.
asm의 정체는 커널 소스의 include 디렉토리 보시면 asm-xxxx라는 디렉토리들이
보이는데 이것들은 다 CPU 아키텍쳐별로 고유한 헤더파일들입니다. 이들 중
하나를 심볼릭 링크하고 있는게 asm이고요.
정 안된다면 /usr/include 디렉토리 이하에 커널 헤더파일들이 설치되어 있는지
조사해 보시고요. (조사할꺼 -> linux 디렉토리, asm 디렉토리-asm 디렉토리는
asm 디렉토리 그대로 설치된경우도 있고, asm-i386 등등이 설치되고 여기에
링크걸린 경우도 있습니다.)
Written By the Black Knight of Destruction
current는 /usr/src/linux/include/asm-i386
current는 /usr/src/linux/include/asm-i386/current.h에 선언되있군요.
이 헤더를 /usr/src/linux/include/sched.h가 포함하고 일반적으로 이 헤더를 포함해서 사용합니다.
다른 에러는 신텍스군요.
Do you think that's the air you are breathing now?
asm/uaccess.h 문제...
include/asm은 config할 때 설정할 때 정해진 Platform에 따라 Symbolic Linux됩니다. 그렇기 때문에 Platform을 설정하지 않은 채 Compile이 될 때에 그 디렉토리 자체가 없을 수도 있죠...
도움이 되었을라나...
운형 I completely agree with your words.
운형 I completely agree with your words.
댓글 달기