Bug 109540 - Can't compile UP kernel - undefined symbol
Can't compile UP kernel - undefined symbol
Status: CLOSED DUPLICATE of bug 105978
Product: Fedora
Classification: Fedora
Component: kernel (Show other bugs)
1
All Linux
medium Severity medium
: ---
: ---
Assigned To: Arjan van de Ven
Brian Brock
:
Depends On:
Blocks:
  Show dependency treegraph
 
Reported: 2003-11-09 00:26 EST by Robert Hancock
Modified: 2007-11-30 17:10 EST (History)
1 user (show)

See Also:
Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Environment:
Last Closed: 2006-02-21 13:59:53 EST
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
CRM:
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:


Attachments (Terms of Use)

  None (edit)
Description Robert Hancock 2003-11-09 00:26:46 EST
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1)
Gecko/20031030

Description of problem:
I was not able to compile a custom uniprocessor kernel using the
normal process:

make mrproper
make clean
make xconfig -> then load in configs/kernel-2.4.22-i686.config
make dep
make bzImage

During the compile, there is a warning on sched.c about implicit
declaration of active_load_balance, and the final link process fails,
saying that active_load_balance is an undefined symbol.



Version-Release number of selected component (if applicable):
kernel-source-2.4.22-1.2115.nptl

How reproducible:
Always

Steps to Reproduce:
1. Attempt to compile UP kernel as described above. (Maybe only on P4
machine)?
    

Actual Results:  Compile fails.

Expected Results:  Compile succeeds.

Additional info:

The problem appears to be in the configuration process - the
CONFIG_SHARE_RUNQUEUE option ends up getting set to Y somewhere, even
though CONFIG_SMP is not set. active_load_balance is defined in
sched.c as an empty function if CONFIG_SHARE_RUNQUEUE is not set, and
is defined with a real body if CONFIG_SMP and CONFIG_SHARE_RUNQUEUE
are both set, but if CONFIG_SMP is not set and CONFIG_SHARE_RUNQUEUE
is set, it is never defined.

This is on a Pentium 4 system - maybe it only does this if something
detects that the CPU might support HT (this one doesn't)?

Anyway, the configuration process should make sure
CONFIG_SHARE_RUNQUEUE is not set for a non-SMP kernel.

After manually disabling CONFIG_SHARE_RUNQUEUE in the .config file,
the kernel compiles properly.
Comment 1 Josh Boyer 2003-11-09 14:36:03 EST
odd, but if you do this in the top level directory, it compiles fine:

make mrproper
cp configs/kernel-2.4.22-i686.config .config
make oldconfig
make oldconfig
make dep
make bzImage

Note the two make oldconfig commands...  haven't figured out why
exactly this works yet.
Comment 2 Dave Jones 2003-11-10 13:03:26 EST

*** This bug has been marked as a duplicate of 105978 ***
Comment 3 Red Hat Bugzilla 2006-02-21 13:59:53 EST
Changed to 'CLOSED' state since 'RESOLVED' has been deprecated.

Note You need to log in before you can comment on or make changes to this bug.