Compile error on BusyBox 1.8.2 with uClibc 0.9.28 (undefined references)
Christian Poessinger
xcp at mixed-mode.de
Mon Dec 10 03:14:35 PST 2007
Hello,
I'm trying to compile BusyBox 1.8.2 with a gcc 3.3.4 for the ARM920T
target, but i get compilation errors.
I use the following versions in my toolchain:
uClibc 0.9.28
Linux 2.4.21
Linux-libc-headers 2.4.21
gcc 3.3.4
-----------------------------------------------------------------------
| miscutils/taskset.c:17: error: parse error before '*' token
| miscutils/taskset.c:18: warning: function declaration isn't a prototype
| miscutils/taskset.c: In function `__from_cpuset':
| miscutils/taskset.c:22: error: `CPU_SETSIZE' undeclared (first use in
this function)
| miscutils/taskset.c:22: error: (Each undeclared identifier is reported
only once
| miscutils/taskset.c:22: error: for each function it appears in.)
| miscutils/taskset.c:26: warning: implicit declaration of function
`CPU_ISSET'
| miscutils/taskset.c:26: error: `mask' undeclared (first use in this
function)
| miscutils/taskset.c: In function `taskset_main':
| miscutils/taskset.c:47: error: `cpu_set_t' undeclared (first use in
this function)
| miscutils/taskset.c:47: error: parse error before "mask"
| miscutils/taskset.c:68: warning: implicit declaration of function
`CPU_ZERO'
| miscutils/taskset.c:68: error: `new_mask' undeclared (first use in
this function)
| miscutils/taskset.c:69: error: `CPU_SETSIZE' undeclared (first use in
this function)
| miscutils/taskset.c:71: warning: implicit declaration of function
`CPU_SET'
| miscutils/taskset.c:78: warning: implicit declaration of function
`sched_getaffinity'
| miscutils/taskset.c:78: error: `mask' undeclared (first use in this
function)
| miscutils/taskset.c:86: warning: implicit declaration of function
`sched_setaffinity'
| make[1]: *** [miscutils/taskset.o] Error 1
| make[1]: Leaving directory `/work/busybox-1.8.2-r1/busybox-1.8.2'
| make: *** [miscutils] Error 2
| FATAL: oe_runmake failed
----------------------------------------------------------------------------
In the above mentioned versions there are no CPU_* definitions in
sched.h, so it isn't possible
at all to build BusyBox with these versions in the toolchain. Please
correct me if I'm wrong.
In my eyes this issue breaks your README file, which stats:
=======
Busybox is developed and tested on Linux 2.4 and 2.6 kernels, compiled
with gcc (the unit-at-a-time optimizations in version 3.4 and later are
worth upgrading to get, but older versions should work), and linked
against
uClibc (0.9.27 or greater) or glibc (2.2 or greater). In such an
environment, the full set of busybox features should work, and if
anything doesn't we want to know about it so we can fix it.
=======
Cause this is a header issue (uclibc) and not a compile issue i would
devide this section into <= BusyBox 1.6.x and >= BusyBox 1.7.x
Best regards,
Christian Pössinger
More information about the busybox
mailing list