kosslab-kr / toybox

toybox
http://landley.net/toybox
Other
6 stars 5 forks source link

샘플 hello.c 빌드 오류 #2

Open LipiLee opened 8 years ago

LipiLee commented 8 years ago

toys/example/hello.c 파일을 toys/pending/ 디렉토리에 복사하고

전체 빌드하면 빌드 에러 발생

[빌드 명령어] make allyesconfig make

[빌드 에러 로그]

lipi@ubuntu:~/src/toybox$ make .singlemake:914: warning: overriding commands for target hello' .singlemake:68: warning: ignoring old commands for targethello' .singlemake:917: warning: overriding commands for target test_hello' .singlemake:71: warning: ignoring old commands for targettesthello' scripts/make.sh Generate headers from toys//_.c... generated/newtoys.h warning: using unfinished code from toys/pending Library probe......... Make generated/config.h from .config. generated/flags.h Error in hello (see generated/flags.raw) make: *\ [toybox] Error 1

LipiLee commented 8 years ago

만약에 toys/lsb/ 에 hello.c 파일을 넣고 디폴트 빌드(make defconfig)를 하면 어떻게 될까요? 에러가 난다면 위와 동일한 에러가 날까요? 다르면 왜 다르게 날까요?

이런 의문점들에 대해 하나씩 풀어나가면 조금씩 빌드환경이 이해가 되겠죠? 조금이라도 이해한 내용들을 댓글로 달아 공유해주세요.

LipiLee commented 8 years ago

hello.c 파일 빌드를 위한 추가적인 힌트

  1. .config 파일 참고
  2. toys 디렉토리 하위에 동일이름의 소스 파일이 여러개가 있으면 중복 정의로 빌드 에러 (toys/example/hello.c, toys/lsb/hello.c 이 동시에 존재할 경우)
CHOIJOOSEOK commented 8 years ago

.config 파일에서

CONFIG_HELLO is not set --> CONFIG_HELLO=y

로 수정 후 다시 빌드하여 ./toybox 실행 후 hello 명령어 추가 확인 -생략- fstype grep groups halt head hello help hexedit hostname -생략-

./toybox hello 실행하면 Hello world 출력

다시 확인하고 복습해봤습니다..