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

Linus Lüssing
2017-04-24T19:27:36Z

Hi Ben,

Due to the missing response we went for a workaround in the
out-of-tree backports version of batman-adv for now.

However, it seems a similar issue now popped up with 4.11-rc1
again: [0] ("fatal error: sys/socket.h: No such file or directory")

Second try: Manoj, do you see a chance to fix these two issues
([0][1]) in kernel-package or is this package currently
unmaintained?

Anything I can help with for further debugging in kernel-package?

Regards, Linus

[0]: https://www.open-mesh.org/issues/333
[1]: https://www.open-mesh.org/issues/322

On Sun, Jan 15, 2017 at 12:50:52AM +0000, Ben Hutchings wrote:
> 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.
>