[BusyBox 0000125]: Compile Busybox without MMU failed.
bugs at busybox.net
bugs at busybox.net
Mon Feb 11 10:19:11 PST 2008
The following issue has been CLOSED
======================================================================
http://busybox.net/bugs/view.php?id=125
======================================================================
Reported By: frankteoth
Assigned To: BusyBox
======================================================================
Project: BusyBox
Issue ID: 125
Category: Networking Support
Reproducibility: always
Severity: block
Priority: normal
Status: closed
Resolution: reopened
Fixed in Version:
======================================================================
Date Submitted: 02-25-2005 22:31 PST
Last Modified: 02-11-2008 10:19 PST
======================================================================
Summary: Compile Busybox without MMU failed.
Description:
Compilation failed when building Busybox for Generic ARM (no MMU) target.
You need to disable "start-stop-daemon", "System Logging Utilities", and
"udhcp Server/Client" in order to compile successfully.
If rebuild buildroot for Generic ARM (with MMU), compiling Busybox will be
successful and without this issue.
======================================================================
----------------------------------------------------------------------
landley - 12-07-05 22:13
----------------------------------------------------------------------
What version of uClibc are you building against, and could you post your
.config to the mailing list?
Rob
----------------------------------------------------------------------
frankteoth - 12-10-05 10:02
----------------------------------------------------------------------
Uses:
buildroot-20051209.tar.bz2
busybox-1.01.tar.bz2
uClibc-0.9.28.tar.bz2
binutils-2.16.1.tar.bz2
gcc-3.4.2.tar.bz2
linux-libc-headers-2.4.31.tar.bz2
.config for buildroot, busybox & uClibc are attached.
.config.BUGS & .config.GOOD for busybox are also attached.
Please refer to attachment: BUG-0000125.tar.bz2
----------------------------------------------------------------------
landley - 01-09-06 23:28
----------------------------------------------------------------------
Your libc isn't providing daemonize(), and those things (quite
understandably) want it. This is a toolchain issue, not a busybox issue.
man 3 daemonize
----------------------------------------------------------------------
vapier - 01-10-06 06:01
----------------------------------------------------------------------
not really
would also say it's a toolchain/kernel problem that fork() isnt available
on uClinux ?
----------------------------------------------------------------------
jamie - 03-28-06 13:23
----------------------------------------------------------------------
It's fixed with the attached patch "patch_busybox_daemon",
for i386 and ARM uClinux.
Other architectures are easy to add, and I'll do so if someone asks
(but you can probably do it yourself).
Because uClinux kernel doesn't implement fork(), uClibc doesn't
implement daemon() on those targets. However daemon() can be
implemented using clone() and an assembly stub.
Only use this patch with supported MMUless uClinux targets.
It has the wrong behaviour otherwise.
It would be great if someone includes this patch in the Busybox
source tree and adds an Autoconf test to decide when to use it,
which is when there isn't a working fork().
Enjoy, --Jamie
----------------------------------------------------------------------
vapier - 03-28-06 16:25
----------------------------------------------------------------------
that patch isnt acceptable, sorry
----------------------------------------------------------------------
bernhardf - 06-11-06 10:34
----------------------------------------------------------------------
We will take care of this in bb_xdaemon for the BB_NOMMU case.
E.g.:
#if !BB_NOMMU /* normal case, we have fork */
#define bb_xdaemon(chd,clo,str) common_xdaemon(chd,clo)
#else
#define bb_xdaemon(chd,clo,str) vfork_daemon_rexec(chd,clo,str)
#endif
If by then we still have not exported argv and argc, we'll have to also
pass these in -- for the case we end up calling vfork_daemon_rexec().
----------------------------------------------------------------------
vda - 02-11-08 10:19
----------------------------------------------------------------------
Appears to be fixed in svn. start_stop_daemon works for me on NOMMU.
Issue History
Date Modified Username Field Change
======================================================================
02-25-05 22:31 frankteoth New Issue
03-16-05 12:27 andersen Assigned To andersen => BusyBox
09-17-05 03:56 Dmitry BazhenovIssue Monitored: Dmitry Bazhenov
12-07-05 22:13 landley Note Added: 0000741
12-07-05 22:13 landley Status assigned => feedback
12-10-05 08:40 frankteoth Issue Monitored: frankteoth
12-10-05 09:53 frankteoth Issue End Monitor: frankteoth
12-10-05 09:58 frankteoth File Added: BUG-0000125.tar.bz2
12-10-05 10:02 frankteoth Note Added: 0000758
01-09-06 23:28 landley Status feedback => closed
01-09-06 23:28 landley Note Added: 0000909
01-09-06 23:28 landley Resolution open => no change
required
01-10-06 06:01 vapier Status closed => feedback
01-10-06 06:01 vapier Resolution no change required =>
reopened
01-10-06 06:01 vapier Note Added: 0000912
03-28-06 12:26 jamie Issue Monitored: jamie
03-28-06 13:11 jamie File Added: patch_busybox_daemon
03-28-06 13:23 jamie Note Added: 0001201
03-28-06 16:25 vapier Note Added: 0001202
06-11-06 10:34 bernhardf Note Added: 0001412
02-11-08 10:19 vda Status feedback => closed
02-11-08 10:19 vda Note Added: 0004064
======================================================================
More information about the busybox-cvs
mailing list