* [PATCH -next] hid-example: fix some build issues
[not found] <201104142149.p3ELnnoF008424@imap1.linux-foundation.org>
@ 2011-04-18 18:12 ` Randy Dunlap
2011-04-19 8:48 ` Jiri Kosina
0 siblings, 1 reply; 3+ messages in thread
From: Randy Dunlap @ 2011-04-18 18:12 UTC (permalink / raw)
To: linux-kernel, linux-input; +Cc: akpm, jkosina, Alan Ott
From: Randy Dunlap <randy.dunlap@oracle.com>
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.
Reported-by: Andrew Morton <akpm@linux-foundation.org>
Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
Cc: Alan Ott <alan@signal11.us>
Cc: Jiri Kosina <jkosina@suse.cz>
Cc: linux-input@vger.kernel.org
---
samples/Kconfig | 4 ++--
samples/hidraw/Makefile | 2 ++
2 files changed, 4 insertions(+), 2 deletions(-)
--- linux-next-20110418.orig/samples/hidraw/Makefile
+++ linux-next-20110418/samples/hidraw/Makefile
@@ -6,3 +6,5 @@ hostprogs-y := hid-example
# Tell kbuild to always build the programs
always := $(hostprogs-y)
+
+HOSTCFLAGS_hid-example.o += -I$(objtree)/usr/include
--- linux-next-20110418.orig/samples/Kconfig
+++ linux-next-20110418/samples/Kconfig
@@ -62,8 +62,8 @@ config SAMPLE_KDB
command to the kdb shell.
config SAMPLE_HIDRAW
- tristate "Build simple hidraw example"
- depends on HIDRAW
+ bool "Build simple hidraw example"
+ depends on HIDRAW && HEADERS_CHECK
help
Build an example of how to use hidraw from userspace.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH -next] hid-example: fix some build issues
2011-04-18 18:12 ` [PATCH -next] hid-example: fix some build issues Randy Dunlap
@ 2011-04-19 8:48 ` Jiri Kosina
2011-04-19 9:13 ` Michal Marek
0 siblings, 1 reply; 3+ messages in thread
From: Jiri Kosina @ 2011-04-19 8:48 UTC (permalink / raw)
To: Randy Dunlap
Cc: linux-kernel, linux-input, Andrew Morton, Alan Ott, Michal Marek
[ adding Michal Marek to CC ]
On Mon, 18 Apr 2011, Randy Dunlap wrote:
> From: Randy Dunlap <randy.dunlap@oracle.com>
>
> 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?
Thanks.
>
> Reported-by: Andrew Morton <akpm@linux-foundation.org>
> Signed-off-by: Randy Dunlap <randy.dunlap@oracle.com>
> Cc: Alan Ott <alan@signal11.us>
> Cc: Jiri Kosina <jkosina@suse.cz>
> Cc: linux-input@vger.kernel.org
> ---
> samples/Kconfig | 4 ++--
> samples/hidraw/Makefile | 2 ++
> 2 files changed, 4 insertions(+), 2 deletions(-)
>
> --- linux-next-20110418.orig/samples/hidraw/Makefile
> +++ linux-next-20110418/samples/hidraw/Makefile
> @@ -6,3 +6,5 @@ hostprogs-y := hid-example
>
> # Tell kbuild to always build the programs
> always := $(hostprogs-y)
> +
> +HOSTCFLAGS_hid-example.o += -I$(objtree)/usr/include
> --- linux-next-20110418.orig/samples/Kconfig
> +++ linux-next-20110418/samples/Kconfig
> @@ -62,8 +62,8 @@ config SAMPLE_KDB
> command to the kdb shell.
>
> config SAMPLE_HIDRAW
> - tristate "Build simple hidraw example"
> - depends on HIDRAW
> + bool "Build simple hidraw example"
> + depends on HIDRAW && HEADERS_CHECK
> help
> Build an example of how to use hidraw from userspace.
>
>
--
Jiri Kosina
SUSE Labs, Novell Inc.
^ permalink raw reply [flat|nested] 3+ messages in thread
* Re: [PATCH -next] hid-example: fix some build issues
2011-04-19 8:48 ` Jiri Kosina
@ 2011-04-19 9:13 ` Michal Marek
0 siblings, 0 replies; 3+ messages in thread
From: Michal Marek @ 2011-04-19 9:13 UTC (permalink / raw)
To: Jiri Kosina
Cc: Randy Dunlap, linux-kernel, linux-input, Andrew Morton, Alan Ott
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@oracle.com>
> >
> > 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
^ permalink raw reply [flat|nested] 3+ messages in thread
end of thread, other threads:[~2011-04-19 9:13 UTC | newest]
Thread overview: 3+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
[not found] <201104142149.p3ELnnoF008424@imap1.linux-foundation.org>
2011-04-18 18:12 ` [PATCH -next] hid-example: fix some build issues Randy Dunlap
2011-04-19 8:48 ` Jiri Kosina
2011-04-19 9:13 ` Michal Marek
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox