svn commit: trunk/busybox/include

Mike Frysinger vapier at gentoo.org
Thu Sep 25 09:47:35 UTC 2008


On Thursday 25 September 2008, Denys Vlasenko wrote:
> On Thu, Sep 25, 2008 at 11:24 AM, Denys Vlasenko
>
> <vda.linux at googlemail.com> wrote:
> > On Thu, Sep 25, 2008 at 2:41 AM,  <vapier at busybox.net> wrote:
> >> Author: vapier
> >> Date: 2008-09-24 17:41:49 -0700 (Wed, 24 Sep 2008)
> >> New Revision: 23475
> >>
> >> Log:
> >> we dont provide setgroups() replacement, so dont provide the prototype
> >> either ... especially since it conflicts on some systems (like Darwin)
> >
> > This broke uclibc build.
>
> With attached .config:
>
>   CC      libpwdgrp/pwd_grp.o
> cc1: warnings being treated as errors
> libpwdgrp/pwd_grp.c: In function 'bb_internal_initgroups':
> libpwdgrp/pwd_grp.c:665: error: implicit declaration of function
> 'setgroups' make[1]: *** [libpwdgrp/pwd_grp.o] Error 1
> make: *** [libpwdgrp] Error 2
>
> Maybe frame setgroups decl in #ifdef DARWIN thingy?

ugh, no ... this is a failing of busybox.  it is purposefully not pulling in 
grp.h and thus not getting the setgroups() prototype when the internal 
pwd/grp stuff is enabled.  if you want to continue the "ignore it" route, 
then the prototype should be limited to that ifdef logic (i dont use the bb 
pwd/grp replacement code so i wouldnt notice it failing in that case).

of course, if the build/host include paths werent so intertwined, it wouldnt 
be nearely as much of a problem ... we have to make sure libbb.h 
is "portable" because it gets pulled in by the applet generation code 
(applets/usage.c).  sticking random system prototypes into libbb.h makes this 
very fragile.
-mike
-------------- next part --------------
A non-text attachment was scrubbed...
Name: not available
Type: application/pgp-signature
Size: 835 bytes
Desc: This is a digitally signed message part.
Url : http://lists.busybox.net/pipermail/busybox/attachments/20080925/d1ee27a1/attachment-0002.pgp 


More information about the busybox mailing list