#10994 NORM 1.75-so: xo-1.75 kernel rpmbuild erroneously attempts to build with "nommu"

Zarro Boogs per Child bugtracker at laptop.org
Mon Jun 13 18:11:17 EDT 2011


#10994: xo-1.75 kernel rpmbuild erroneously attempts to build with "nommu"
-----------------------------+----------------------------------------------
 Reporter:  martin.langhoff  |                 Owner:  martin.langhoff
     Type:  defect           |                Status:  new            
 Priority:  normal           |             Milestone:  1.75-software  
Component:  kernel           |               Version:  not specified  
 Keywords:                   |           Next_action:  never set      
 Verified:  0                |   Deployment_affected:                 
Blockedby:                   |              Blocking:                 
-----------------------------+----------------------------------------------
 Our current 2.6.29 tree, when built under rpmbuild fails with errors:

 {{{
 arch/arm/kernel/built-in.o: In function `module_finalize':
 /home/martin/src/rpm-
 build/kernel-2.6.39_xo1.75/linux-2.6.39.armv7l/arch/arm/kernel/module.c:344:
 undefined reference to `fixup_smp'
 arch/arm/mm/built-in.o: In function `arm_mm_memblock_reserve':
 /home/martin/src/rpm-
 build/kernel-2.6.39_xo1.75/linux-2.6.39.armv7l/arch/arm/mm/mmu.c:902:
 undefined reference to `swapper_pg_dir'
 mm/built-in.o:(.data+0x5d0): undefined reference to `swapper_pg_dir'
 }}}

 For some reason, under rpmbuild, CONFIG_MMU=y is getting ignored, and the
 build fails because "there is no MMU configured".

 If we look into the builddir,

  * the .config file is correct
  * no defconfig files are present that are likely to be overriding our
 config
  * executing the shellscript created by rpm completes the build correctly,
 picking head.S instead of head-nommu.S
  * otherwise, a manual call to make completes the build correctly

 Unfortunately, attempting to call make [opts] zImage twice in %build does
 not succeed.

 The usual makefile debug strategies (--debug and V=1) don't show anything
 interesting. Diffing the output of a good and a bad build (with --debug
 V=1 does not show anything interesting. Make is not telling us why it
 decides to build head-nommu.S

 The file that controls this seems to be arch/arm/Makefile - see CONFIG_MMU
 and MMUEXT.

 For the time being, we have an ugly workaround in place. We should however
 get to the bottom of it, as it is worrying that something is overriding or
 mangling our options.

-- 
Ticket URL: <http://dev.laptop.org/ticket/10994>
One Laptop Per Child <http://laptop.org/>
OLPC bug tracking system


More information about the Bugs mailing list