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... https://metameute.de/~tux/batman-adv/net-sched-issues/linux-headers-4.5.0%2b...
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).