几乎全部选择:
第一次错误信息:
In file included from include/busybox.h:10,
from applets/applets.c:11:
include/libbb.h:50:29: selinux/selinux.h: No such file or directory
include/libbb.h:51:29: selinux/context.h: No such file or directory
include/libbb.h:52:27: selinux/flask.h: No such file or directory
include/libbb.h:53:36: selinux/av_permissions.h: No such file or directory
In file included from include/busybox.h:10,
from applets/applets.c:11:
include/libbb.h:844: error: syntax error before “sid”
include/libbb.h:844: warning: function declaration isn’t a prototype
include/libbb.h:845: error: syntax error before “set_security_context_component”
include/libbb.h:845: error: syntax error before “cur_context”
include/libbb.h:846: warning: type defaults to `int’ in declaration of `set_security_context_component’
include/libbb.h:846: warning: function declaration isn’t a prototype
include/libbb.h:846: warning: data definition has no type or storage class
include/libbb.h:847: error: syntax error before “scontext”
include/libbb.h:847: warning: function declaration isn’t a prototype
make[1]: *** [applets/applets.o] Error 1
make: *** [applets] Error 2
   看来这玩意真是不可靠,系统/usr/include/中明明有selinux/selinux.h这个的,没法,在busybox的include目录:ln -sf /usr/src/selinux selinux
   
   继续make
   
   第二次出错:
   loginutils/login.c:22:31: security/pam_appl.h: No such file or directory
   
   loginutils/login.c:23:31: security/pam_misc.h: No such file or directory
   
   loginutils/login.c:24: error: variable `conv’ has initializer but incomplete type
   
   loginutils/login.c:25: error: `misc_conv’ undeclared here (not in a function)
   
   loginutils/login.c:25: warning: excess elements in struct initializer
   
   loginutils/login.c:25: warning: (near initialization for `conv’)
   
   loginutils/login.c:27: warning: excess elements in struct initializer
   
   loginutils/login.c:27: warning: (near initialization for `conv’)
   
   loginutils/login.c: In function `login_main’:
   
   loginutils/login.c:248: error: `pam_handle_t’ undeclared (first use in this function)
   
   loginutils/login.c:248: error: (Each undeclared identifier is reported only once
   
   loginutils/login.c:248: error: for each function it appears in.)
   
   loginutils/login.c:248: error: `pamh’ undeclared (first use in this function)
   
   loginutils/login.c:249: warning: ISO C90 forbids mixed declarations and code
   
   loginutils/login.c:315: warning: implicit declaration of function `pam_start’
   
   loginutils/login.c:316: error: `PAM_SUCCESS’ undeclared (first use in this function)
   
   loginutils/login.c:321: warning: implicit declaration of function `pam_set_item’
   
   loginutils/login.c:321: error: `PAM_TTY’ undeclared (first use in this function)
   
   loginutils/login.c:326: warning: implicit declaration of function `pam_authenticate’
   
   loginutils/login.c:336: warning: implicit declaration of function `pam_acct_mgmt’
   
   loginutils/login.c:345: warning: implicit declaration of function `pam_get_item’
   
   loginutils/login.c:345: error: `PAM_USER’ undeclared (first use in this function)
   
   loginutils/login.c:359: warning: implicit declaration of function `pam_open_session’
   
   loginutils/login.c:364: warning: implicit declaration of function `pam_setcred’
   
   loginutils/login.c:364: error: `PAM_ESTABLISH_CRED’ undeclared (first use in this function)
   
   loginutils/login.c:373: warning: implicit declaration of function `pam_strerror’
   
   loginutils/login.c:373: warning: format argument is not a pointer (arg 3)
   
   make[1]: *** [loginutils/login.o] Error 1
   
   make: *** [loginutils] Error 2
   这次有点头大,查找一翻,是libpam0g-dev包没装,ok, sudo apt-get install libpam0g-dev
   
   继续在busybox的include目录: ln -sf /usr/include/security security
   
   接着make
   
   又出错:
   
   selinux/setfiles.c:9:25: sepol/sepol.h: No such file or directory
   
   selinux/setfiles.c: In function `canoncon’:
   
   selinux/setfiles.c:420: warning: implicit declaration of function `sepol_check_context’
   
   selinux/setfiles.c: In function `setfiles_main’:
   
   selinux/setfiles.c:555: warning: implicit declaration of function `sepol_set_policydb_from_file’
   
   make[1]: *** [selinux/setfiles.o] Error 1
   
   make: *** [selinux] Error 2
   老办法,进入include目录:
   
   ln -sf /usr/include/sepol sepol
   
   要是系统没这个目录的话,呵呵,这个包的名字叫做libsepol1-dev,咋装不用说了吧
   
   继续make
   
   呵呵,链接出错,这是肯定的了,
   
   LINK    busybox_unstripped
   
   Trying libraries: crypt m pam pam_misc selinux sepol
   
   Failed: busybox_unstripped /opt/crosstool/gcc-3.4.5-glibc-2.3.6/arm-davinci-linux/bin/arm-davinci-linux-gcc  -static   applets/built-in.o  archival/lib.a  archival/libunarchive/lib.a  console-tools/lib.a  coreutils/lib.a  coreutils/libcoreutils/lib.a  debianutils/lib.a  e2fsprogs/lib.a  editors/lib.a  findutils/lib.a  init/lib.a  ipsvd/lib.a  libbb/lib.a  libpwdgrp/lib.a  loginutils/lib.a  miscutils/lib.a  modutils/lib.a  networking/lib.a  networking/libiproute/lib.a  networking/udhcp/lib.a  procps/lib.a  runit/lib.a  selinux/lib.a  shell/lib.a  sysklogd/lib.a  util-linux/lib.a  archival/built-in.o  archival/libunarchive/built-in.o  console-tools/built-in.o  coreutils/built-in.o  coreutils/libcoreutils/built-in.o  debianutils/built-in.o  e2fsprogs/built-in.o  editors/built-in.o  findutils/built-in.o  init/built-in.o  ipsvd/built-in.o  libbb/built-in.o  libpwdgrp/built-in.o  loginutils/built-in.o  miscutils/built-in.o  modutils/built-in.o  networking/built-in.o  networking/libiproute/built-in.o  networking/udhcp/built-in.o  procps/built-in.o  runit/built-in.o  selinux/built-in.o  shell/built-in.o  sysklogd/built-in.o  util-linux/built-in.o  m crypt pam pam_misc selinux sepol -Wl,–start-group -lcrypt -lm -lpam -lpam_misc -lselinux -lsepol -Wl,–end-group
   
   Output of:
   
   /opt/crosstool/gcc-3.4.5-glibc-2.3.6/arm-davinci-linux/bin/arm-davinci-linux-gcc -static -o busybox_unstripped -Wl,–sort-common -Wl,–sort-section -Wl,alignment -Wl,–gc-sections -Wl,–start-group applets/built-in.o archival/lib.a archival/libunarchive/lib.a console-tools/lib.a coreutils/lib.a coreutils/libcoreutils/lib.a debianutils/lib.a e2fsprogs/lib.a editors/lib.a findutils/lib.a init/lib.a ipsvd/lib.a libbb/lib.a libpwdgrp/lib.a loginutils/lib.a miscutils/lib.a modutils/lib.a networking/lib.a networking/libiproute/lib.a networking/udhcp/lib.a procps/lib.a runit/lib.a selinux/lib.a shell/lib.a sysklogd/lib.a util-linux/lib.a archival/built-in.o archival/libunarchive/built-in.o console-tools/built-in.o coreutils/built-in.o coreutils/libcoreutils/built-in.o debianutils/built-in.o e2fsprogs/built-in.o editors/built-in.o findutils/built-in.o init/built-in.o ipsvd/built-in.o libbb/built-in.o libpwdgrp/built-in.o loginutils/built-in.o miscutils/built-in.o modutils/built-in.o networking/built-in.o networking/libiproute/built-in.o networking/udhcp/built-in.o procps/built-in.o runit/built-in.o selinux/built-in.o shell/built-in.o sysklogd/built-in.o util-linux/built-in.o -Wl,–end-group -Wl,–start-group -lcrypt -lm -lpam -lpam_misc -lselinux -lsepol -Wl,–end-group
   
   ==========
   
   /opt/crosstool/gcc-3.4.5-glibc-2.3.6/arm-davinci-linux/lib/gcc/arm-davinci-linux/3.4.5/../../../../arm-davinci-linux/bin/ld: cannot find -lpam
   
   collect2: ld returned 1 exit status
   
   make: *** [busybox_unstripped] Error 1
   
   这几个库交叉编译器可是没有的哦
   没路了,要么交叉编译所需要的库,(痛苦的事情,我没成功),
   
   要么重新配置下,去掉selinux和loging中的pam就OK了
   
   make
   
   ok,生成了
  
 
