Invalid options segfault?
Rob Landley
rob at landley.net
Fri Nov 7 01:09:14 UTC 2008
On Wednesday 05 November 2008 20:19:50 Denys Vlasenko wrote:
> On Tuesday 04 November 2008 23:22, Rob Landley wrote:
> > On Tuesday 04 November 2008 12:00:33 Vladimir Dronnikov wrote:
> > > One more issue: when compiling sqlite I started to get the error:
> > > BUILD sqlite
> > > awk: ./mkopcodeh.awk:117: Math support is not compiled in
> >
> > That's because Denys removed CONFIG_FEATURE_AWK_LIBM from defconfig,
> > which broke this.
> >
> > Sigh, defconfig has become useless as a "start with everything and remove
> > stuff" base.
>
> I do not break stuff on purpose. I do not want you or anybody else
> to have bad experience from busybox.
>
> But knowing what defconfig is supposed to be, as of now
> requires telepathic powers. Does it carry any explanation, say,
> in its header? No:
>
> # Automatically generated make config: don't edit
> # Busybox version: 1.13.0.svn
> # Wed Oct 29 13:15:09 2008
I left a comment in the makefile, in SVN 13879:
# defconfig is allyesconfig minus any features that are specialized enough
# or cause enough behavior change that the user really should switch them on
# manually if that's what they want. Sort of "maximum sane config".
You removed this comment in svn 16349. I thought it was an intentional policy
change?
> Until very recently, I did not even realize you use defconfig
> in your work and thus have some expectations about it.
I don't think anybody uses defconfig in their work anymore, the current one is
kind of useless precisely _because_ you need telepathy to understand its
purpose and precognitive abilities to know how it'll change next release.
> If you want defconfig to obey some rules, let's formulate
> what these rules are, put them into defconfig's comment,
> and be done with it.
I put them in the makefile's comment at the point it generated defconfig. I
also posted repeatedly about it here on the mailing list at the time I did
it, explaining my rationale. (You're free to disagree with that, it's your
ballgame now. But I don't know how I could have been clearer at the time.)
I already figured out another way to get the behavior I want, by avoiding the
useless defconfig entirely and instead using a driedfrogpills file to impose
sanity upon allyesconfig via the KCONFIG_ALLCONFIG infrastructure. (I posted
that yesterday, in the message titled "make saneconfig".) That way all other
new options that show up in new versions of busybox (mostly features)
automatically get enabled, and I can switch off any new ones that cause me
problems by adding them to the driedfrogpills file.
In my experience, users create one of three configurations: either
allyesconfig and trim it down, allnoconfig and work up, or go through
menuconfig and examine every option. People who use a pre-supplied
configuration rather than making one themselves tend to get it from their
distro (gentoo embedded, scratchbox, their vendor board support package,
etc). Most of these guys don't compile busybox themselves. There _isn't_ a
common configuration between distros, no two distros seem to want quite the
same config.
Right now, there's no good starting point for people who want to start with
everything and pare it down rather than start from zero (allnoconfig) and
work up. The result of allyesconfig doesn't _work_, not unless you configure
selinux on your system, have the pam headers set up on your host so it'll
compile, don't mind strange debugging behavior...
Rob
More information about the busybox
mailing list