[BusyBox 0000316]: CONFIG_ symbol collision with linux 2.4 kernel autoconf.h

bugs at busybox.net bugs at busybox.net
Thu Dec 8 04:11:20 UTC 2005


The following issue has been CLOSED 
====================================================================== 
http://busybox.net/bugs/view.php?id=316 
====================================================================== 
Reported By:                mleslie
Assigned To:                BusyBox
====================================================================== 
Project:                    BusyBox
Issue ID:                   316
Category:                   Other
Reproducibility:            always
Severity:                   minor
Priority:                   normal
Status:                     closed
Resolution:                 open
Fixed in Version:           
====================================================================== 
Date Submitted:             06-28-2005 15:38 PDT
Last Modified:              12-07-2005 20:11 PST
====================================================================== 
Summary:                    CONFIG_ symbol collision with linux 2.4 kernel
autoconf.h
Description: 
The following config symbols collide with the uClinux 2.4.29-uc1 kernel
autoconf.h:

    CONFIG_SYSCTL
    CONFIG_TR
    CONFIG_WATCHDOG

For example, if you enable watchdog support in the kernel but not the
busybox applet, busybox applets.c will be made to include the call to
watchdog_main (CONFIG_WATCHDOG having been defined the kernel autoconf.h)
but the watchdog applet itself will not have been compiled. Compilation
fails.
====================================================================== 

---------------------------------------------------------------------- 
 karn - 10-26-05 04:34  
---------------------------------------------------------------------- 
I recommend putting a unique suffix on all of the CONFIG_ tags used
internally in busybox to avoid not only these collisions, but future ones
as well.

I just spent an hour figuring out why the watchdog command wasn't
appearing in the binary even though I had configured it. 

---------------------------------------------------------------------- 
 landley - 12-07-05 20:11  
---------------------------------------------------------------------- 
This is actually a symptom of broken kernel headers (which should _not_ be
polluting the global #include namespace like that).  However, it's a
common enough mistake that all three config symbols have since been
altered, just so we don't keep hearing about it.

Longer term, the switchover to the ENABLE_ infrastructure should prevent
us from being inconvenienced by similarly broken kernel headers in future. 

Issue History 
Date Modified   Username       Field                    Change               
====================================================================== 
06-28-05 15:38  mleslie        New Issue                                    
06-28-05 15:51  mleslie        Issue Monitored: mleslie                     
10-26-05 04:34  karn           Note Added: 0000643                          
12-07-05 20:11  landley        Status                   assigned => closed  
12-07-05 20:11  landley        Note Added: 0000733                          
======================================================================




More information about the busybox-cvs mailing list