Description of problem: The /sbin/mkkerneldoth script that rc.sysinit runs to create the /boot/kernel.h has a small omission in that it doesn't initialize the SUMMIT variable to '0' like it does with the variables for all the other kernel types. This means that /boot/kernel.h will end up with an empty definition on a non-Summit box: #ifndef __BOOT_KERNEL_SUMMIT #define __BOOT_KERNEL_SUMMIT #endif The file /lib/modules/`uname -r`/build/include/linux/rhconfig.h #includes /boot/kernel.h and uses the definitions in its own #define statements. When it tries to use the __BOOT_KERNEL_SUMMIT definition on line 31: #if defined(__BOOT_KERNEL_SUMMIT) && (__BOOT_KERNEL_SUMMIT == 1) it ends up using an empty value in the comparison, and will generate a syntax error (no left operand) when compiling source that includes this file. Version-Release number of selected component (if applicable): How reproducible: always Steps to Reproduce: 1. Include the rhconfig.h file mentioned in some source code 2. Attempt to preprocess/compile the source 3. Actual results: An error message like "/lib/modules/2.4.9-e.34smp/build/include/linux/rhconfig.h:31:60: operator '(' has no left operand" Expected results: no error message Additional info:
You need to upgrade to the errata.