Bug 109540 - Can't compile UP kernel - undefined symbol
Summary: Can't compile UP kernel - undefined symbol
Status: CLOSED DUPLICATE of bug 105978
Alias: None
Product: Fedora
Classification: Fedora
Component: kernel   
(Show other bugs)
Version: 1
Hardware: All
OS: Linux
Target Milestone: ---
Assignee: Arjan van de Ven
QA Contact: Brian Brock
Depends On:
TreeView+ depends on / blocked
Reported: 2003-11-09 05:26 UTC by Robert Hancock
Modified: 2007-11-30 22:10 UTC (History)
1 user (show)

Fixed In Version:
Doc Type: Bug Fix
Doc Text:
Story Points: ---
Clone Of:
Last Closed: 2006-02-21 18:59:53 UTC
Type: ---
Regression: ---
Mount Type: ---
Documentation: ---
Verified Versions:
Category: ---
oVirt Team: ---
RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: ---

Attachments (Terms of Use)

Description Robert Hancock 2003-11-09 05:26:46 UTC
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.4.1)

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):

How reproducible:

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

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 19:36:03 UTC
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 18:03:26 UTC

*** This bug has been marked as a duplicate of 105978 ***

Comment 3 Red Hat Bugzilla 2006-02-21 18:59:53 UTC
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.