busybox编译失败(busybox-1.33.1)

版本:busybox-1.33.1


  CC      networking/route.o
  CC      networking/slattach.o
  CC      networking/ssl_client.o
  CC      networking/tc.o
  CC      networking/tcpudp.o
  CC      networking/tcpudp_perhost.o
  CC      networking/telnet.o
  CC      networking/telnetd.o
  CC      networking/tftp.o
  CC      networking/tls.o
  CC      networking/tls_aes.o
  CC      networking/tls_aesgcm.o
  CC      networking/tls_fe.o
  CC      networking/tls_pstm.o
  CC      networking/tls_pstm_montgomery_reduce.o
  CC      networking/tls_pstm_mul_comba.o
  CC      networking/tls_pstm_sqr_comba.o
  CC      networking/tls_rsa.o
  CC      networking/traceroute.o
  CC      networking/tunctl.o
  CC      networking/vconfig.o
  CC      networking/wget.o
  CC      networking/whois.o
  CC      networking/zcip.o
  AR      networking/lib.a
  LD      networking/libiproute/built-in.o
  CC      networking/libiproute/ip_parse_common_args.o
  CC      networking/libiproute/ipaddress.o
networking/libiproute/ipaddress.c: In function 'print_addrinfo':
networking/libiproute/ipaddress.c:347: error: 'IFA_F_DADFAILED' undeclared (first use in this function)
networking/libiproute/ipaddress.c:347: error: (Each undeclared identifier is reported only once
networking/libiproute/ipaddress.c:347: error: for each function it appears in.)
scripts/Makefile.build:197: recipe for target 'networking/libiproute/ipaddress.o' failed
make[1]: *** [networking/libiproute/ipaddress.o] Error 1
Makefile:745: recipe for target 'networking/libiproute' failed
make: *** [networking/libiproute] Error 2


[fly@fly-vm etc]$ cat inittab
#first:run the system script file
::sysinit:/etc/init.d/rcS
::askfirst:-/bin/sh
::ctrlaltdel:-/sbin/reboot
#umount all filesystem
::shutdown:/bin/umount -a -r
#restart init process
::restart:/sbin/init

修改
networking/libiproute/ipaddress.c:333:
添加条件编译
#ifdef IFA_F_DADFAILED //添加
if (ifa->ifa_flags & IFA_F_DADFAILED) {
ifa->ifa_flags &= ~IFA_F_DADFAILED;
printf("dadfailed ");
}
#endif //添加
————————————————
版权声明:本文为CSDN博主「朱家村扛把子」的原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接及本声明。
原文链接: https://blog.csdn.net/weixin_45963171/article/details/105138882 https://blog.csdn.net/weixin_45963171/article/details/105138882



  CC      util-linux/volume_id/fat.o
  CC      util-linux/volume_id/get_devname.o
  CC      util-linux/volume_id/hfs.o
  CC      util-linux/volume_id/iso9660.o
  CC      util-linux/volume_id/jfs.o
  CC      util-linux/volume_id/lfs.o
  CC      util-linux/volume_id/linux_raid.o
  CC      util-linux/volume_id/linux_swap.o
  CC      util-linux/volume_id/luks.o
  CC      util-linux/volume_id/minix.o
  CC      util-linux/volume_id/nilfs.o
  CC      util-linux/volume_id/ntfs.o
  CC      util-linux/volume_id/ocfs2.o
  CC      util-linux/volume_id/reiserfs.o
  CC      util-linux/volume_id/romfs.o
  CC      util-linux/volume_id/squashfs.o
  CC      util-linux/volume_id/sysv.o
  CC      util-linux/volume_id/ubifs.o
  CC      util-linux/volume_id/udf.o
  CC      util-linux/volume_id/util.o
  CC      util-linux/volume_id/volume_id.o
  CC      util-linux/volume_id/xfs.o
  AR      util-linux/volume_id/lib.a
  LINK    busybox_unstripped
Static linking against glibc, can't use --gc-sections
Trying libraries: crypt m resolv rt
Failed: -Wl,--start-group  -lcrypt -lm -lresolv -lrt  -Wl,--end-group
Output of:
/usr/local/arm/arm-2009q3/bin/arm-none-linux-gnueabi-gcc -Wall -Wshadow -Wwrite-strings -Wundef -Wstrict-prototypes -Wunused -Wunused-parameter -Wunused-function -Wunused-value -Wmissing-prototypes -Wmissing-declarations -Wno-format-security -Wdeclaration-after-statement -Wold-style-definition -finline-limit=0 -fno-builtin-strlen -fomit-frame-pointer -ffunction-sections -fdata-sections -fno-guess-branch-probability -funsigned-char -static-libgcc -falign-functions=1 -falign-jumps=1 -falign-labels=1 -falign-loops=1 -fno-unwind-tables -fno-asynchronous-unwind-tables -fno-builtin-printf -Os -static -o busybox_unstripped -Wl,--sort-common -Wl,--sort-section,alignment -Wl,--start-group applets/built-in.o archival/lib.a archival/libarchive/lib.a console-tools/lib.a coreutils/lib.a coreutils/libcoreutils/lib.a debianutils/lib.a klibc-utils/lib.a e2fsprogs/lib.a editors/lib.a findutils/lib.a init/lib.a libbb/lib.a libpwdgrp/lib.a loginutils/lib.a mailutils/lib.a miscutils/lib.a modutils/lib.a networking/lib.a networking/libiproute/lib.a networking/udhcp/lib.a printutils/lib.a procps/lib.a runit/lib.a selinux/lib.a shell/lib.a sysklogd/lib.a util-linux/lib.a util-linux/volume_id/lib.a archival/built-in.o archival/libarchive/built-in.o console-tools/built-in.o coreutils/built-in.o coreutils/libcoreutils/built-in.o debianutils/built-in.o klibc-utils/built-in.o e2fsprogs/built-in.o editors/built-in.o findutils/built-in.o init/built-in.o libbb/built-in.o libpwdgrp/built-in.o loginutils/built-in.o mailutils/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 printutils/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 util-linux/volume_id/built-in.o -Wl,--end-group -Wl,--start-group -lcrypt -lm -lresolv -lrt -Wl,--end-group
==========
libbb/lib.a(inet_common.o): In function `INET6_resolve':
inet_common.c:(.text.INET6_resolve+0x44): warning: Using 'getaddrinfo' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
coreutils/lib.a(mktemp.o): In function `mktemp_main':
mktemp.c:(.text.mktemp_main+0x8c): warning: the use of `mktemp' is dangerous, better use `mkstemp'
networking/lib.a(ipcalc.o): In function `ipcalc_main':
ipcalc.c:(.text.ipcalc_main+0x24c): warning: Using 'gethostbyaddr' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
libbb/lib.a(inet_common.o): In function `INET_resolve':
inet_common.c:(.text.INET_resolve+0x60): warning: Using 'gethostbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
networking/lib.a(inetd.o): In function `reread_config_file':
inetd.c:(.text.reread_config_file+0x230): warning: Using 'getservbyname' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
networking/lib.a(netstat.o): In function `ip_port_str':
netstat.c:(.text.ip_port_str+0x5c): warning: Using 'getservbyport' in statically linked applications requires at runtime the shared libraries from the glibc version used for linking
util-linux/lib.a(nsenter.o): In function `nsenter_main':
nsenter.c:(.text.nsenter_main+0x180): undefined reference to `setns'
coreutils/lib.a(sync.o): In function `sync_common':
sync.c:(.text.sync_common+0x30): undefined reference to `syncfs'
collect2: ld returned 1 exit status
Note: if build needs additional libraries, put them in CONFIG_EXTRA_LDLIBS.
Example: CONFIG_EXTRA_LDLIBS="pthread dl tirpc audit pam"
Makefile:720: recipe for target 'busybox_unstripped' failed
make: *** [busybox_unstripped] Error 1

linux(ubuntu)编译busybox遇到的问题处理办法 https://blog.csdn.net/zyc_csdn/article/details/89389884

make menuconfig
配置时,去掉下面的部分

去掉Coreutils—>sync选项;
去掉Linux System Utilities—>nsenter选项;

[fly@fly-vm etc]$ tree
.
├── fstab
├── init.d
│   └── rcS
├── inittab
└── profile

1 directory, 4 files

[fly@fly-vm etc]$ cat fstab
# /etc/fstab: static file system information.
#
# Use 'vol_id --uuid' to print the universally unique identifier for a
# device; this may be used with UUID= as a more robust way to name devices
# that works even if disks are added and removed. See fstab(5).
#
#       <file system>   <mount point>   <type>  <options>       <dump>  <pass>
        proc                    /proc                   proc    defaults        0               0
        sysfs                   /sys                    sysfs   defaults        0               0
        tmpfs                   /var                    tmpfs   defaults        0               0
        tmpfs                   /tmp                    tmpfs   defaults        0               0
        tmpfs                   /dev                    tmpfs   defaults        0               0


[fly@fly-vm etc]$ cat profile
# Ash profile
# vim: syntax=sh

# No core files by default
ulimit -S -c 0 > /dev/null 2>&1

USER="`id -un`"
LOGNAME=$USER
PS1='[\u@\h \W]\# '
PATH=$PATH

HOSTNAME=`/bin/hostname`

export USER LOGNAME PS1 PATH


[fly@fly-vm etc]$ cd init.d/
[fly@fly-vm init.d]$ ls
rcS
[fly@fly-vm init.d]$ cat rcS
#!/bin/sh
PATH=/sbin:/bin:/usr/sbin:/usr/bin

runlevel=S
prevlevel=N

umask 022

export PATH runlevel prevlevel

mount -a

echo /sbin/mdev > /proc/sys/kernel/hotplug
mdev -s

/bin/hostname -F /etc/sysconfig/HOSTNAME

ifconfig eth0 192.168.1.10