[BusyBox] uClibc build problems (was: autoconf stuff)

Larry Doolittle ldoolitt at recycle.lbl.gov
Fri Jun 15 11:18:08 UTC 2001


Edmund reported:
> nslookup.c:134: `_res' undeclared (first use in this function)
> I could not find _res in any other file.

_res should be defined in <resolv.h>, something like
extern struct __res_state _res;
I don't know what uClibc does for the resolv libraries.

> [init,o, sh.o] undefined reference to `environ'

environ should be compile-time defined in <unistd.h>, something like
extern char **environ;
and then link-time defined in your libc (of whatever flavor).

> /usr/i386-linux-uclibc/lib/libc.so: undefined reference to `strcoll'
> /usr/i386-linux-uclibc/lib/libc.so: undefined reference to `index'
> /usr/i386-linux-uclibc/lib/libc.so: undefined reference to `original'

These look like an inconsistency in your build environment, with
absolutely nothing to do with BusyBox.

> My guess here is that we have not tried to compile Hush with uClibc  and
> there are some issues when trying to do this. Should I be expecting Hush
> to work with uClibc?

If you disable sh entirely, and all your problems go away, I would
be mightily surprised.  It looks like your cross-compile/link kit
is half-broken.  While I don't actually test hush under anything
other than glibc, I think other people do.  hush is mostly ANSI c,
the major exception being its job and terminal control features.
Those stress-test the kernel API (actually, my understanding of
it), but not the libc interface.

     - Larry





More information about the busybox mailing list