[uClibc] Re: Again some buildroot patches

Rob Landley rob at landley.net
Sun Jan 11 08:51:15 UTC 2004


On Wednesday 07 January 2004 11:17, Matthias Kilian wrote:
> On Wed, Jan 07, 2004 at 05:04:47PM +0800, Selwyn Tang wrote:
> > I tried building 5.8.0 within the chroot'd rootfs, following perl's own
> > INSTALL. After running "sh Configure -de", two makefiles was produced,
>
> [...]
>
> > Again, it's a corrupted makefile problem. I just get frustrated! The
> > makefiles seem never to be correctly generated. Sigh...
>
> When building within the uClibc root, you should better also configure a
> fully fledged shell, sed, textutils etc. Configure scripts typically make
> heavy use of those tools, and the busybox doesn't implement everything
> completely or correctly. In contrast to buildroot's "default" TARGET
> selection, I use the following: coreutils, findutils, bash, make,
> diffutils, patch, sed, ed, flex, bison, file, gawk, tar, grep, bzip2
> (and some more, e.g. gcc, ccache, m4, ...).

Note that I have an explicit goal of making the busybox versions of all those 
tools work as part of a functional development environment.  I've already 
done some work on sed and bzip (although there's a lot more to come).  You 
should have MUCH better luck with the cvs 0.9?? version than with the 
ancient, obsolete "almost as old as debian stable" 0.60 version.  Then again, 
I know I've still got work to do on a lot of utilities...

Of course busybox doesn't have everything.  It hasn't got an implementation of 
make, diff, or bison.  And since when is "ed" part of a development 
environment?  (Has anybody but Alan Cox actually used it since 1995?  Patches 
are all unified diffs these days, and the _only_ reason Linux From Scratch 
includes ed is for patch to be able to handle old ed-style patches by 
shelling out to ed.)

But most of the rest of the stuff should eventually be usable from busybox as 
part of a development environment.  The fact it isn't yet means I have work 
to do, but I'm happy to receive test cases on just about any of those.  (sed 
especially, that seems to be the one that autoconf really beats to death.)

> At least, for me the makefile generation with Configure works. However,
> after
>
> $ shell Configure -de
> $ make
>
> I get:
> perlio.c: In function `PerlIOStdio_invalidate_fileno':
> perlio.c:2831: error: structure has no member named `_fileno'
> make: *** [perlio.o] Error 1
>
> :-(

Just because configure worked doesn't mean it produced the correct output.  
Extract two trees, run one with the gnu tools in the $PATH and run one with 
busybox in the $PATH, then compare the results.  (Easiest way to debug this 
stuff, I've found.  Shows you what it was expected to do, and where it 
diverged...)

> Ciao,
> 	Kili

Rob




More information about the uClibc mailing list