Red Hat Bugzilla – Bug 132578
can't compile afs module for 2.4.21-20.ELsmp
Last modified: 2013-08-05 21:08:07 EDT
From Bugzilla Helper:
User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.1) Gecko/20020827
Description of problem:
After moving from U2 to U3 I get the following error when trying to
compile openafs module. Does this change have something to do with
increasing GID to 32bits?
gcc -O2 -fomit-frame-pointer -fno-strength-reduce
-fno-strict-aliasing -fno-common -pipe -mcmodel=kernel -D__KERNEL__
-DKERNEL -D_KERNEL -DMODULE -DAFS_SMP -D__BOOT_KERNEL_UP=0
-D__BOOT_KERNEL_SMP=1 -I. -I../
-I/usr/src/openafs-kernel-1.2.10/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
../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
make: *** [osi_groups.o] Error 1
make: Leaving directory
make: *** [linux_compdirs] Error 2
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1.Update kernel to 2.4.21-20.ELsmp
2.dl any version of openafs
Hello, Michael. In U3, we turned off CONFIG_UID16 for the x86_64
arch because it was inappropriately limiting the uid/gid space.
The typedefs old_uid_t/old_gid_t are only defined when CONFIG_UID16
is defined, so yes, this is at the heart of the compilation failure.
I think the afs source code needs some porting work to handle this.
You might want to take a look at include/linux/highuid.h, where
there are a bunch of CONFIG_UID16-dependent macros for dealing with
setting and converting uid/gid values. If the afs source code used
these appropriately, it should be compilable in either scenario.
I'm assigning this temporarily to Jim Paradis to validate the above
(in expectation this bug report will be closed as NOTABUG).
I concur with Ernie. Moving to the 32-bit uid/gid eliminated
old_uid_t and old_gid_t. You'll have to modify the code accordingly.