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
[email protected]
https://lists.openafs.org/mailman/listinfo/openafs-info