kosslab-kr / toybox

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

pending 빌드 오류 #4

Open thehighestend opened 8 years ago

thehighestend commented 8 years ago

pending에 아무 example코드도 넣지 않은 clean 상태에서 allyesconfig를 설정한 뒤 make를 걸면 다음과 같이 오류가 발생합니다.

backsun@backsun-VirtualBox:~/gitproj/toybox$ make allyesconfig cc -o kconfig/conf kconfig/conf.c kconfig/zconf.tab.c -DKBUILD_NO_NLS=1 \ -DPROJECT_NAME=\"ToyBox\" scripts/genconfig.sh kconfig/conf -y Config.in > /dev/null backsun@backsun-VirtualBox:~/gitproj/toybox$ make 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 generated/globals.h generated/tags.h generated/help.h Compile toybox.................toys/example/skeleton.c:63:2: warning: #warning skeleton.c is just an example, not something to deploy. [-Wcpp] #warning skeleton.c is just an example, not something to deploy. ^ .......toys/lsb/md5sum.c:82:25: fatal error: openssl/md5.h: No such file or directory compilation terminated. Makefile:19: recipe for target 'toybox' failed make: *** [toybox] Error 1 backsun@backsun-VirtualBox:~/gitproj/toybox$

증거로 다음은 pending 디렉토리의 내용입니다. backsun@backsun-VirtualBox:~/gitproj/toybox$ ls -a toys/pending/ . crond.c expr.c groupdel.c last.c ping.c telnet.c userdel.c .. crontab.c fdisk.c host.c logger.c README telnetd.c vi.c arp.c dd.c fold.c iconv.c lsof.c route.c test.c watch.c arping.c dhcp6.c fsck.c init.c mdev.c sh.c tftp.c wget.c bootchartd.c dhcp.c ftpget.c ip.c mke2fs.c sulogin.c tftpd.c xzcat.c brctl.c dhcpd.c getfattr.c ipcrm.c modprobe.c syslogd.c traceroute.c chrt.c diff.c getty.c ipcs.c more.c tar.c tr.c compress.c dumpleases.c groupadd.c klogd.c openvt.c tcpsvd.c useradd.c backsun@backsun-VirtualBox:~/gitproj/toybox$

이상입니다.

LipiLee commented 8 years ago

make defconfig와 make allyesconfig 와 어떤 차이가 있길래 디폴트 빌드는 md5sum.c 파일이 빌드가 되고 전체 빌드시에는 컴파일 오류가 생기는 걸까요? :open_mouth: 관심 있는 분들은 한번 찾아보시고 알게 된 것을 공유 부탁드려요~

imjihyeok commented 8 years ago

kconfig/Makefile 을 보면, "allyesconfig" 는 kconfig/conf.c 의 메인함수 인자로 "-y"로 들어가고 "defconfig" 일때는 "-D"로 들어가는데 여기서 더 따라가자니 복잡하네요...

LipiLee commented 8 years ago

네, 빌드환경 전체를 이해하는 것이 금방 이해되지는 않습니다. 왜냐면 make에 대한 이해가 필요한데, 모르면 시간이 걸리고, 쉘스크립트 문법도 모르면 이해하는데 시간이 걸립니다. 저도 그랬고요.

조금 설명을 하면, make defconfig나 make allyesconfig를 하면 .config 파일과 generated디렉토리에 있는 파일들이 달라집니다. 생성되는 파일들에 대한 설명은 https://landley.net/toybox/code.html#generated 을 참고하세요.