在busybox交叉编译中出错

时间:2012-12-10 21:27:15

标签: arm cross-compiling raspberry-pi

我正在尝试使用buildroot 2012.11在我的x86_64桌面上编译busybox for arm 我认为我的buildroot构建配置是正确的:

由于可读性和间距原因,该文件位于pastebin上:http://pastebin.com/tSZvcEqe

但是,当我尝试编译时,我得到了这个错误(显然“rlimit-fsize”系统变量有问题。

  CC      loginutils/passwd.o
loginutils/passwd.c: In function ‘passwd_main’:
loginutils/passwd.c:104:16: error: storage size of ‘rlimit_fsize’ isn’t known
loginutils/passwd.c:188:2: warning: implicit declaration of function ‘setrlimit‘ [-Wimplicit-function-declaration]
loginutils/passwd.c:188:12: error: ‘RLIMIT_FSIZE’ undeclared (first use in this function)
loginutils/passwd.c:188:12: note: each undeclared identifier is reported only once for each function it appears in
loginutils/passwd.c:104:16: warning: unused variable ‘rlimit_fsize’ [-Wunused-variable]
make[1]: *** [loginutils/passwd.o] Error 
make: *** [loginutils] Error 2

以下是busybox构建配置文件:

#
# Automatically generated make config: don't edit
# Busybox version: 1.20.2
# Mon Dec 10 21:45:20 2012
#
CONFIG_HAVE_DOT_CONFIG=y

#
# Busybox Settings
#

[...]


#
# Login/Password Management Utilities
#
CONFIG_ADD_SHELL=y
CONFIG_REMOVE_SHELL=y
CONFIG_FEATURE_SHADOWPASSWDS=y
CONFIG_USE_BB_PWD_GRP=y
CONFIG_USE_BB_SHADOW=y
CONFIG_USE_BB_CRYPT=y
CONFIG_USE_BB_CRYPT_SHA=y
CONFIG_ADDUSER=y
CONFIG_FEATURE_ADDUSER_LONG_OPTIONS=y
# CONFIG_FEATURE_CHECK_NAMES is not set
CONFIG_FIRST_SYSTEM_ID=100
CONFIG_LAST_SYSTEM_ID=999
CONFIG_ADDGROUP=y
CONFIG_FEATURE_ADDGROUP_LONG_OPTIONS=y
CONFIG_FEATURE_ADDUSER_TO_GROUP=y
CONFIG_DELUSER=y
CONFIG_DELGROUP=y
CONFIG_FEATURE_DEL_USER_FROM_GROUP=y
CONFIG_GETTY=y
CONFIG_LOGIN=y
# CONFIG_LOGIN_SESSION_AS_CHILD is not set
# CONFIG_PAM is not set
CONFIG_LOGIN_SCRIPTS=y
CONFIG_FEATURE_NOLOGIN=y
CONFIG_FEATURE_SECURETTY=y
CONFIG_PASSWD=y
# CONFIG_FEATURE_PASSWD_WEAK_CHECK is not set
CONFIG_CRYPTPW=y
CONFIG_CHPASSWD=y
CONFIG_FEATURE_DEFAULT_PASSWD_ALGO="des"
CONFIG_SU=y
CONFIG_FEATURE_SU_SYSLOG=y
CONFIG_FEATURE_SU_CHECKS_SHELLS=y
CONFIG_SULOGIN=y
CONFIG_VLOCK=y

[...]

除此之外,主机系统是最新的archlinux x86_64桌面     Linux samhildanach 3.6.9-1-ARCH#1 SMP PREEMPT Tue Dec 4 08:04:10 CET 2012 x86_64 GNU / Linux

感谢您的帮助。

2 个答案:

答案 0 :(得分:7)

好的,在这里找到答案: http://lists.busybox.net/pipermail/busybox/2012-May/077766.html

只需在邮件中应用补丁,或者编辑include/libbb.h以便其包含(它应该在顶部有一行,在其他包含之间,说#include <sys/resource.h>) 谢谢你的帮助!

答案 1 :(得分:0)

通过提交http://git.buildroot.net/buildroot/commit/package/busybox/busybox-1.20.2/busybox-1.20.2-sys-resource.patch?id=6fce747d08437fc35d67b69631254faf3982db69在Buildroot中修复了此问题。此提交是去年12月发布的2012.11版Buildroot的一部分。