There are a number of header files in asm-ppc64 that #include headers in asm-ppc, and one header file in asm-i386 that #includes a header in asm-x86_64. Any external module that uses any of these headers is broken when trying to compile against our kernel-devel package. The attached patch to our spec file makes generation of dependent headers happen at build time and catches all the missing headers on all arches. This issue is actually holding up the upstream release of OFED-1.2 right now (they wanted to support RHEL4.5 with OFED 1.2, that now does not look possible).
Created attachment 155374 [details] Fix for problem
This request was evaluated by Red Hat Product Management for inclusion in a Red Hat Enterprise Linux maintenance release. Product Management has requested further review of this request by Red Hat Engineering, for potential inclusion in a Red Hat Enterprise Linux Update release for currently deployed products. This request is not yet committed for inclusion in an Update release.
committed in stream U6 build 55.7. A test kernel with this patch is available from http://people.redhat.com/~jbaron/rhel4/
This patch breaks kernel modules builds on xen. /usr/src/kernels/2.6.9-56.EL-xenU-x86_64/include/asm/mach-xen/asm/synch_bitops.h has the following line #include <asm-i386/mach-xen/asm/synch_bitops.h> which breaks when the asm-i386 directory (and mach-xen subdirectory) are not present. We cannot build or test GFS/Cluster Suite packages until this patch is fixed. Output from build against -56.EL: make -C /lib/modules/2.6.9-56.ELxenU/build M=/usr/src/redhat/BUILD/cman-kernel-2.6.9-51/xenU/src modules USING_KBUILD=yes make[2]: Entering directory `/usr/src/kernels/2.6.9-56.EL-xenU-x86_64' CC [M] /usr/src/redhat/BUILD/cman-kernel-2.6.9-51/xenU/src/cnxman.o In file included from include/asm/mach-xen/asm/system.h:7, from include/asm/mach-xen/asm/processor.h:19, from include/linux/spinlock.h:16, from include/linux/capability.h:45, from include/linux/sched.h:7, from /usr/src/redhat/BUILD/cman-kernel-2.6.9-51/xenU/src/cnxman.c:18: include/asm/mach-xen/asm/synch_bitops.h:2:48: asm-i386/mach-xen/asm/synch_bitops.h: No such file or directory
Setting blocker flag.
This is blocking building of the cluster suite products for RHEL4.6 release and critical that it get resolved. Raising priorities as well.
When I did the original patch to the spec file to copy the right headers into other arch devel packages, there was no xen kernel in the RHEL4 CVS tree. I guess it's been added sometime after I did that work. I'm building a kernel locally and I'll see if I can tell exactly what about the patch isn't working.
committed in stream U6 build 59. A test kernel with this patch is available from http://people.redhat.com/~jbaron/rhel4/
This worked for my kernel modules, thanks!
An advisory has been issued which should help the problem described in this bug report. This report is therefore being closed with a resolution of ERRATA. For more information on the solution and/or where to find the updated files, please follow the link below. You may reopen this bug report if the solution does not work for you. http://rhn.redhat.com/errata/RHBA-2007-0791.html