[OpenAFS] Cross compiling openafs modules in Debian stable works with 1.4.7 but fail with 1.4.11 or 1.4.12

Jose Calhariz jose.calhariz@tagus.ist.utl.pt
Tue, 4 May 2010 02:57:29 +0100


I used to cross compile openafs modules to amd64/x86_64 linux kernel
from a i386 userland.  I am using the kernel-package command to
produce a debian package with the openafs modules.  The last time I
compiled new modules was with openafs 1.4.7, for kernel 2.6.26.

Now I try to do the same with openafs modules 1.4.11 or 1.4.12 for
Linux kernel 2.6.26. But it fails with what seams to be typical cross
compiling problems.  I Have looked into the code and logs from
openafs-modules-source and kernel-package.  And I found nothing wrong,
or different from openafs 1.4.7.  The proper flags for cross-compiling
seams to be correct, the generated .o files are for x86_64.  The full
error messages are in the end of the email.

The initial error message is:

In file included from /usr/src/modules/openafs/src/afs/afsincludes.h:53,
                 from /usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:22:
/usr/src/modules/openafs/src/afs/afs_prototypes.h:950: warning: ‘struct flock64’ declared inside parameter list
/usr/src/modules/openafs/src/afs/afs_prototypes.h:950: warning: its scope is only this definition or declaration, which is probably not what you want
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:36: warning: ‘struct flock64’ declared inside parameter list
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:40: warning: ‘struct flock64’ declared inside parameter list
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:45: warning: ‘struct flock64’ declared inside parameter list
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:45: error: conflicting types for ‘lockIdSet’
/usr/src/modules/openafs/src/afs/afs_prototypes.h:949: error: previous declaration of ‘lockIdSet’ was here


My setup is Debian 5.0/lenny i386 running the amd64 kernel from
Debian.  uname -a

Linux copernico 2.6.26-2-amd64 #1 SMP Tue Mar 9 18:27:05 UTC 2010 x86_64 GNU/Linux

I am compiling the sources in the package openafs-modules-source.
Version  1.4.7.dfsg1-6+lenny2 from Debian stable works, versions
1.4.11 and 1.4.12 from backports.debian.org don't cross-compile for amd64.


Full error message for afs_vnop_flock.c:

  CC [M]  /usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.o
In file included from /usr/src/modules/openafs/src/afs/afsincludes.h:53,
                 from /usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:22:
/usr/src/modules/openafs/src/afs/afs_prototypes.h:950: warning: ‘struct flock64’ declared inside parameter list
/usr/src/modules/openafs/src/afs/afs_prototypes.h:950: warning: its scope is only this definition or declaration, which is probably not what you want
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:36: warning: ‘struct flock64’ declared inside parameter list
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:40: warning: ‘struct flock64’ declared inside parameter list
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:45: warning: ‘struct flock64’ declared inside parameter list
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:45: error: conflicting types for ‘lockIdSet’
/usr/src/modules/openafs/src/afs/afs_prototypes.h:949: error: previous declaration of ‘lockIdSet’ was here
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c: In function ‘lockIdSet’:
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:133: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c: At top level:
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:157: warning: ‘struct flock64’ declared inside parameter list
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:156: error: conflicting types for ‘lockIdcmp2’
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:38: error: previous declaration of ‘lockIdcmp2’ was here
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c: In function ‘lockIdcmp2’:
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:178: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:180: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:201: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c: In function ‘HandleFlock’:
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:233: error: storage size of ‘flock’ isn’t known
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:233: warning: unused variable ‘flock’
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c: At top level:
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:486: warning: ‘struct flock64’ declared inside parameter list
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c: In function ‘afs_lockctl’:
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:523: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:528: warning: passing argument 2 of ‘HandleGetLock’ from incompatible pointer type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:544: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:545: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:556: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:556: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:557: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:560: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:560: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:560: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:566: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:568: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:570: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c: At top level:
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:614: warning: ‘struct flock64’ declared inside parameter list
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:613: error: conflicting types for ‘HandleGetLock’
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:34: error: previous declaration of ‘HandleGetLock’ was here
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c: In function ‘HandleGetLock’:
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:617: error: storage size of ‘flock’ isn’t known
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:629: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:630: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:634: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:636: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:638: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:645: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:653: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:658: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:660: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:665: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:679: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:681: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:686: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:694: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:706: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:707: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:714: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:730: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:732: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:737: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:745: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:756: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:757: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:764: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:781: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:785: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:787: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:788: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:794: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:795: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:796: error: dereferencing pointer to incomplete type
/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.c:617: warning: unused variable ‘flock’
make[6]: *** [/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP/afs_vnop_flock.o] Error 1
make[5]: *** [_module_/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP] Error 2
make[5]: Leaving directory `/usr/src/linux-source-2.6.26-modules'
make[4]: *** [openafs.ko] Error 2
make[4]: Leaving directory `/usr/src/modules/openafs/src/libafs/MODLOAD-2.6.26-2-amd64-MP'
make[3]: *** [linux_compdirs] Error 2
make[3]: Leaving directory `/usr/src/modules/openafs/src/libafs'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/usr/src/modules/openafs'
make[1]: *** [build-stamp] Error 2
make[1]: Leaving directory `/usr/src/modules/openafs'


-- 
--
	So mesmo um grande esnobismo espiritual faz com que as
	pessoas acreditem que podem ser felizes sem
	dinheiro.
		-- Albert Camus