[OpenAFS] RedHat Enterprise 3 srpm compile errors
John Koyle
jkoyle@rfpdepot.com
Fri, 24 Oct 2003 10:25:06 -0600
I noticed I had cut and pasted the wrong redhat-fix.h file (The previous
message had one I was playing around with).
The correct one has:
#undef __BOOT_KERNEL_ENTERPRISE
#define __BOOT_KERNEL_ENTERPRISE 0
and
#undef __BOOT_KERNEL_UP
#define __BOOT_KERNEL_UP 1
John
On Fri, 2003-10-24 at 10:02, John Koyle wrote:
> I've included lots of info.
>
> Looking at /boot/kernel.h shows this:
>
> /* This file is automatically generated at boot time. */
> #ifndef __BOOT_KERNEL_H_
> #define __BOOT_KERNEL_H_
>
> /* Kernel type i686 */
>
> #ifndef __MODULE_KERNEL_i686
> #define __MODULE_KERNEL_i686 1
> #endif
>
> #ifndef __BOOT_KERNEL_ENTERPRISE
> #define __BOOT_KERNEL_ENTERPRISE 0
> #endif
>
> #ifndef __BOOT_KERNEL_BIGMEM
> #define __BOOT_KERNEL_BIGMEM 0
> #endif
>
> #ifndef __BOOT_KERNEL_HUGEMEM
> #define __BOOT_KERNEL_HUGEMEM 0
> #endif
>
> #ifndef __BOOT_KERNEL_SMP
> #define __BOOT_KERNEL_SMP 0
> #endif
>
> #ifndef __BOOT_KERNEL_UP
> #define __BOOT_KERNEL_UP 1
> #endif
>
> #endif
>
>
> This conflicts with the included rehda-fix.h which #undef's i686 and
> #defines i386 like this:
>
> #ifndef REDHAT_FIX_H
> #define REDHAT_FIX_H
>
> #undef __BOOT_KERNEL_ENTERPRISE
> #define __BOOT_KERNEL_ENTERPRISE 1
>
> #undef __BOOT_KERNEL_BIGMEM
> #define __BOOT_KERNEL_BIGMEM 0
>
> #undef __BOOT_KERNEL_SMP
> #define __BOOT_KERNEL_SMP 0
>
> #undef __BOOT_KERNEL_UP
> #define __BOOT_KERNEL_UP 0
>
> #undef __BOOT_KERNEL_BOOT
> #define __BOOT_KERNEL_BOOT 0
>
> #undef __BOOT_KERNEL_BOOTSMP
> #define __BOOT_KERNEL_BOOTSMP 0
>
> #include "/boot/kernel.h"
>
> #ifndef __MODULE_KERNEL_i386
> #define __MODULE_KERNEL_i386 1
> #endif
> #undef __MODULE_KERNEL_i586
> #undef __MODULE_KERNEL_i686
> #undef __MODULE_KERNEL_athlon
>
> #endif
>
> When I modified the redhat-fix.h to #undef i386 and #define i686 then it
> was able to compile. So it may just be some logic in the SPEC file.
> Here's the relevent parts of mm.h
>
> union {
> struct pte_chain *chain;/* Reverse pte mapping pointer.
> * protected by PG_chainlock */
> pte_addr_t direct;
> } pte;
> unsigned char age; /* Page aging counter. */
> struct page **pprev_hash; /* Complement to *next_hash. */
> struct buffer_head * buffers; /* Buffer maps us to a disk
> block. */
>
> [joe@test include]# uname -a
> Linux test.localhost 2.4.21-3.EL #1 Fri Sep 19 14:14:57 EDT 2003 i686
> i686 i386 GNU/Linux
>
>
> Thanks,
> John
>
> On Fri, 2003-10-24 at 09:52, Derek Atkins wrote:
> > John Koyle <jkoyle@rfpdepot.com> writes:
> >
> > > In file included from ../afs/sysincludes.h:71,
> > > from ../afs/afs_analyze.c:19:
> > > linux/mm.h:203: syntax error before "pte_addr_t"
> >
> > What's around lines 200-205 in linux/mm.h?
> >
> > > Removing the REDHAT_FIX define allows the system to compile without
> > > errors, but I assume that it's there for a reason, and given that it's
> > > causing an error in the memory mapping I don't want to assume anything.
> >
> > Well, REDHAT_FIX is used because with RHL we needed to define our own
> > "/boot/kernel.h" to build for different kernels other than the
> > currenly-running version. It's QUITE possible that the enterprise
> > distribution does things somewhat differently such that this RHL
> > workaround no longer works, or works differently.
> >
> > Another thing to do is take a look at /boot/kernel.h on your system
> > and see what it says?
> >
> > > Any ideas?
> > > Thanks,
> > > John
> >
> > -derek
>
> _______________________________________________
> OpenAFS-info mailing list
> OpenAFS-info@openafs.org
> https://lists.openafs.org/mailman/listinfo/openafs-info