Re: randconfig build error with next-20150316, in samples/kdbus/kdbus-workers

From: Michael Ellerman
Date: Mon Mar 16 2015 - 17:12:59 EST


On Mon, 2015-03-16 at 17:31 +0100, David Herrmann wrote:
> Hi
>
> On Mon, Mar 16, 2015 at 5:22 PM, Jim Davis <jim.epost@xxxxxxxxx> wrote:
> > Building with the attached random configuration file,
> >
> > In file included from ./include/uapi/linux/kdbus.h:12:0,
> > from samples/kdbus/kdbus-api.h:5,
> > from samples/kdbus/kdbus-workers.c:79:
> > ./include/uapi/linux/types.h:9:2: warning: #warning "Attempt to use
> > kernel headers from user space, see
> > http://kernelnewbies.org/KernelHeaders"; [-Wcpp]
> > #warning "Attempt to use kernel headers from user space, see
> > http://kernelnewbies.org/KernelHeaders";
> > ^
> > In file included from ./include/uapi/linux/posix_types.h:4:0,
> > from ./include/uapi/linux/types.h:13,
> > from ./include/uapi/linux/kdbus.h:12,
> > from samples/kdbus/kdbus-api.h:5,
> > from samples/kdbus/kdbus-workers.c:79:
> > ./include/uapi/linux/stddef.h:1:28: fatal error: linux/compiler.h: No
> > such file or directory
> > #include <linux/compiler.h>
> > ^
> > compilation terminated.
> > scripts/Makefile.host:91: recipe for target 'samples/kdbus/kdbus-workers' failed
> > make[2]: *** [samples/kdbus/kdbus-workers] Error 1
>
> If you build the samples in ./samples/, you need up-to-date kernel
> headers. The kdbus samples rely on linux/kdbus.h to be available.
>
> A simple "make headers_install" will copy the headers to the local
> directory ./usr/ in your kernel tree. This is the preferred location
> over /usr/include by all tools in the kernel tree. That is, run "make
> headers_install" once and your local tree will build fine. Once your
> kernel-headers in /usr/include are up-to-date, it will work just
> out-of-the-box again.
>
> In other words, if CONFIG_SAMPLES is enabled, you need the sanitized
> kernel headers in your include path.

But the samples are also including the unsanitised headers, which I think is
what's causing the problem here.

HOSTCFLAGS_kdbus-workers.o += \
-I$(objtree)/usr/include/ \
-I$(objtree)/include/uapi/

cheers


--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/