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 _______________________________________________ OpenAFS-info mailing list OpenAFS-info@openafs.org https://lists.openafs.org/mailman/listinfo/openafs-info