Re: [PATCH -next] hid-example: fix some build issues

From: Michal Marek
Date: Tue Apr 19 2011 - 05:13:37 EST


On Tue, Apr 19, 2011 at 10:48:26AM +0200, Jiri Kosina wrote:
>
> [ adding Michal Marek to CC ]
>
> On Mon, 18 Apr 2011, Randy Dunlap wrote:
>
> > From: Randy Dunlap <randy.dunlap@xxxxxxxxxx>
> >
> > samples/hid-example.o needs some Kconfig and Makefile additions
> > in order to build. It should use <linux/*.h> headers from
> > the build tree, so use HEADERS_CHECK to require that those
> > header files be present.
> >
> > Change the kconfig symbol from tristate to bool since
> > userspace cannot be built as loadable modules.
> >
> > However, I don't understand why the userspace header files are
> > not present as reported in Andrew's build log, since it builds
> > OK on x86_64 without any of these changes.
>
> Yes, I have no idea how the build failure Andrew is reporting happens.
> Andrew -- what exact command are you using that leads to that failure?

I believe Andrew was trying to build samples/hidraw/hid-example.o
directly, which unfortunatelly does not work (kbuild limitation). For
reference, this is the reply I sent privately to Andrew:

| The samples/hidraw/ directory does not appear in the output, I I guess
| samples/hidraw/hid-example already existed? Back to the original
| problem, I can reproduce the bug with
|
| $ make samples/hidraw/hid-example.o
| CHK include/linux/version.h
| CHK include/generated/utsrelease.h
| CALL scripts/checksyscalls.sh
| CC samples/hidraw/hid-example.o
| samples/hidraw/hid-example.c:29:23: fatal error: sys/ioctl.h: No such
| file or directory
|
| Because for %.o there is a rule in the toplevel Makefile passes control
| to scripts/Makefile.build, while you would need scripts/Makefile.host in
| this case. I don't know how to fix this, when Makefile.build is told to
| build foo.o, it builds it as kernel code, it doesn't inspect the
| hostprogs-y variable to see if perhaps foo.o is in the foodchain of some
| host program. However, 'make samples/hidraw/' works fine for me. So
| what command exactly did you use?

Michal
--
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/