Out-of-tree build broken

Samuel Ainsworth skainsworth at gmail.com
Tue Oct 29 00:50:55 UTC 2019


Correction: the actual out-of-tree building link is https://github.com/mirror/busybox/blob/master/INSTALL#L125 <https://github.com/mirror/busybox/blob/master/INSTALL#L125>.

> On Oct 28, 2019, at 5:49 PM, Samuel Ainsworth <skainsworth at gmail.com> wrote:
> 
> Hello busybox overlords,
> 
> I have a fresh checkout of busybox version 1.31.1 (git hash bd754746394a382e04d116df02547f61b2026da9), and I’m trying to build it on Ubuntu 18.04 with gcc 7.4 with an out-of-tree build (per per https://github.com/jgunthorpe/busybox/blob/master/INSTALL#L95 <https://github.com/jgunthorpe/busybox/blob/master/INSTALL#L95>) with defconfig. But I’m getting some build errors:
> 
> root at e581c80974df:~/bbbuild# make
> make -C /src O=/root/bbbuild
>   Using /src as source for busybox
>   GEN     /root/bbbuild/Makefile
>   SPLIT   include/autoconf.h -> include/config/*
>   GEN     include/bbconfigopts.h
>   GEN     include/common_bufsiz.h
>   GEN     include/embedded_scripts.h
>   HOSTCC  applets/usage
> In file included from /src/applets/usage.c:30:0:
> /src/include/applets.h:338:1: warning: implicit declaration of function 'IF_RMMOD'; did you mean 'IF_CHMOD'? [-Wimplicit-function-declaration]
>  IF_RMMOD(   IF_MODPROBE_SMALL(APPLET_NOEXEC( rmmod,    modprobe, BB_DIR_SBIN, BB_SUID_DROP, rmmod   )))
>  ^~~~~~~~
>  IF_CHMOD
> In file included from /src/applets/usage.c:11:0:
> /src/applets/usage.c:25:34: error: expected expression before '{' token
>  #define MAKE_USAGE(aname, usage) { aname, usage },
>                                   ^
> /src/include/autoconf.h:3528:33: note: in definition of macro 'IF_MODPROBE_SMALL'
>  # define IF_MODPROBE_SMALL(...) __VA_ARGS__
>                                  ^~~~~~~~~~~
> /src/include/applets.h:43:46: note: in expansion of macro 'MAKE_USAGE'
>  # define APPLET_NOEXEC(name,main,l,s,help)   MAKE_USAGE(#name, help##_trivial_usage help##_full_usage)
>                                               ^~~~~~~~~~
> /src/include/applets.h:338:31: note: in expansion of macro 'APPLET_NOEXEC'
>  IF_RMMOD(   IF_MODPROBE_SMALL(APPLET_NOEXEC( rmmod,    modprobe, BB_DIR_SBIN, BB_SUID_DROP, rmmod   )))
>                                ^~~~~~~~~~~~~
> /src/applets/usage.c: In function 'main':
> /src/applets/usage.c:52:3: warning: ignoring return value of 'write', declared with attribute warn_unused_result [-Wunused-result]
>    write(STDOUT_FILENO, usage_array[i].usage, strlen(usage_array[i].usage) + 1);
>    ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
> scripts/Makefile.host:104: recipe for target 'applets/usage' failed
> make[3]: *** [applets/usage] Error 1
> /src/Makefile:372: recipe for target 'applets_dir' failed
> make[2]: *** [applets_dir] Error 2
> Makefile:112: recipe for target '_all' failed
> make[1]: *** [_all] Error 2
> Makefile:14: recipe for target 'all' failed
> make: *** [all] Error 2
> root at e581c80974df:~/bbbuild# cc --version
> cc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
> Copyright (C) 2017 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> 
> root at e581c80974df:~/bbbuild# gcc --version
> gcc (Ubuntu 7.4.0-1ubuntu1~18.04.1) 7.4.0
> Copyright (C) 2017 Free Software Foundation, Inc.
> This is free software; see the source for copying conditions.  There is NO
> warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
> 
> root at e581c80974df:~/bbbuild#
> 
> Building works fine if I don’t try to do it out-of-tree.
> 
> Best,
> Samuel 

-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/busybox/attachments/20191028/d1e6798a/attachment-0001.html>


More information about the busybox mailing list