[OpenAFS] compiling 1.2.13 for RHEL 3 amd64/x86_64

Lee Damon nomad@stefen.ee.washington.edu
Wed, 08 Dec 2004 10:03:15 -0800


I'm trying to build a set of RPMs from the src.rpm for 1.2.13.  I've
edited the spec file to include:

   %ifarch x86_64
   sysbase=amd64
   %endif
(in two places)

so now it finds the amd64 make file.  It configures fine.  However, while
compiling the first module - MODLOAD-2.4.21-20.EL-amd64-SP -  (after the
libraries and such) I get:

gcc  -O2 -fomit-frame-pointer -fno-strength-reduce -fno-strict-aliasing 
-fno-common -pipe -mcmodel=kernel -D__KERNEL__ -DKERNEL -D_KERNEL -DMODULE 
-DREDHAT_FIX -I. -I../ -I/tmp/rpmbuild/openafs-1.2.13/src/config -c 
../afs/osi_groups.c
../afs/osi_groups.c:181: syntax error before "old_gid_t"
../afs/osi_groups.c:182: syntax error before "old_gid_t"
../afs/osi_groups.c: In function `afs32_xsetgroups':
../afs/osi_groups.c:194: `gidsetsize' undeclared (first use in this function)
../afs/osi_groups.c:194: (Each undeclared identifier is reported only once
../afs/osi_groups.c:194: for each function it appears in.)
../afs/osi_groups.c:194: `grouplist' undeclared (first use in this function)
make[4]: *** [osi_groups.o] Error 1
make[4]: Leaving directory `/tmp/rpmbuild/openafs-1.2.13/src/libafs/MODLOAD-2.4
.21-20.EL-amd64-SP'
make[3]: *** [linux_compdirs] Error 2
make[3]: Leaving directory `/tmp/rpmbuild/openafs-1.2.13/src/libafs'
make[2]: *** [libafs] Error 2
make[2]: Leaving directory `/tmp/rpmbuild/openafs-1.2.13'
make[1]: *** [build] Error 2
make[1]: Leaving directory `/tmp/rpmbuild/openafs-1.2.13'
make: *** [only_libafs] Error 2
error: Bad exit status from /var/tmp/rpm-tmp.69838 (%build)

This compile is for the kernel that comes on the rhel-3-U3-x86_64-es CD.  For
reasons I'd prefer not to go into I need to get a working OpenAFS for the
'stock' kernel in this distro, so upgrading to whatever patch release is
out today isn't an option for me (sad, sad, but resolved as soon as I
get this working).

I really don't want to muck with source code, especially if it means
I'll have to keep mucking with it.  Can anyone give me any hints or
pointers at this point?  I'm hoping I'm just doing something boneheaded
because of lack of experience with this particular method.

thanks,
nomad
 -----------                       - Lee "nomad" Damon -          \
work: nomad@ee.washington.edu                                      \
play: nomad@castle.org    or castle!nomad                           \
                                                                    /\
Sr. Systems Admin, UWEE SSLI Lab                                   /  \
                "Celebrate Diversity"                             /    \