Re: [B.A.T.M.A.N.] Duplicate #include guards with make-kpkg / out-of-tree compile errors

Ben Hutchings
2017-01-15T00:50:52Z

[-- Attachment #1: Type: text/plain, Size: 1762 bytes --]

kernel-package is maintained by Manoj Srivastava (cc'd), not the kernel
team.

Ben.

On Sat, 2017-01-14 at 22:28 +0100, Linus Lüssing wrote:
> Hi Ben and others,
>
> Recently we stumbled upon some compile errors when trying to build
> a backport version of the batman-adv kernel module for a 4.5 kernel
> [0]:
>
>     "implicit declaration of function ‘G_TC_AT’"
>
> It seems VirtualBox has stumbled over this issue, too [1].
>
> When trying to find the cause of these errors we noticed that the
> headers directory created via "$ make-kpkg kernel_headers" for 4.5
> kernel resulted in two differing header files with the same guard,
> namely __LINUX_PKT_CLS_H:
>
> https://metameute.de/~tux/batman-adv/net-sched-issues/linux-headers-4
> .5.0%2b/include/uapi/linux/pkt_cls.h
> https://metameute.de/~tux/batman-adv/net-sched-issues/linux-headers-4
> .5.0%2b/include/linux/pkt_cls.h
>
> The latter, the non-uapi version, has the "#ifdef __KERNEL__"
> section stripped, causing the compile issue if it is included
> before the uapi variant.
>
> Removing this non-uapi version from the unpacked
> linux-headers .deb package manually afterwards lets
> a batman-adv compilation succeed again.
>
> Daniel (CC) has helped a lot with debugging so far and he
> expressed the suspicion that maybe make-kpkg might install
> "$ make headers_install" into the wrong directory?
>
> Regards, Linus
>
> [0]: https://www.open-mesh.org/issues/322
> [1]: https://www.virtualbox.org/ticket/15327
>
> PS: make-kpkg was invoked on a Debian Jessie (kernel-package
> 13.014+nmu1).
--
Ben Hutchings
Hoare's Law of Large Problems:
Inside every large problem is a small problem struggling to get
out.

[-- Attachment #2: This is a digitally signed message part --]
[-- Type: application/pgp-signature, Size: 833 bytes --]