[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