Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1460193 > unrolled thread

[PATCH] tools: iio: fix iio build error by adding KBUILD_OUTPUT support to makefile

Started byMugunthan V N <mugunthanvnm@ti.com>
First post2016-08-11 08:10 +0200
Last post2016-08-21 21:10 +0200
Articles 2 — 2 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] tools: iio: fix iio build error by adding KBUILD_OUTPUT support to makefile Mugunthan V N <mugunthanvnm@ti.com> - 2016-08-11 08:10 +0200
    Re: [PATCH] tools: iio: fix iio build error by adding KBUILD_OUTPUT  support to makefile Jonathan Cameron <jic23@kernel.org> - 2016-08-21 21:10 +0200

#1460193 — [PATCH] tools: iio: fix iio build error by adding KBUILD_OUTPUT support to makefile

FromMugunthan V N <mugunthanvnm@ti.com>
Date2016-08-11 08:10 +0200
Subject[PATCH] tools: iio: fix iio build error by adding KBUILD_OUTPUT support to makefile
Message-ID<s4RlL-7Uz-3@gated-at.bofh.it>
Current make doesn't have support to pass kernel built directory
to find events.h kernel header file, so adding support for
KBUILD_OUTPUT support to Makefile.

$ make CROSS_COMPILE=arm-linux-gnueabihf- -C tools/iio
make: Entering directory '/home/a0131834/workspace/git/mainline/linux/tools/iio'
arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE   -c -o iio_event_monitor.o iio_event_monitor.c
arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE   -c -o iio_utils.o iio_utils.c
arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE   -c -o lsiio.o lsiio.c
arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE   -c -o iio_generic_buffer.o iio_generic_buffer.c
arm-linux-gnueabihf-gcc   lsiio.o iio_utils.o   -o lsiio
arm-linux-gnueabihf-gcc   iio_generic_buffer.o iio_utils.o   -o iio_generic_buffer
iio_event_monitor.c:28:30: fatal error: linux/iio/events.h: No such file or directory
 #include <linux/iio/events.h>
                               ^
compilation terminated.
<builtin>: recipe for target 'iio_event_monitor.o' failed
make: *** [iio_event_monitor.o] Error 1
make: Leaving directory '/home/a0131834/workspace/git/mainline/linux/tools/iio'

Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
---

With this fix I am able to build the iio tools

$ make CROSS_COMPILE=arm-linux-gnueabihf- -C tools/iio KBUILD_OUTPUT=`pwd`
make: Entering directory '/home/a0131834/workspace/git/mainline/linux/tools/iio'
arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -I/home/a0131834/workspace/git/mainline/linux/usr/include   -c -o iio_event_monitor.o iio_event_monitor.c
arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -I/home/a0131834/workspace/git/mainline/linux/usr/include   -c -o iio_utils.o iio_utils.c
arm-linux-gnueabihf-gcc   iio_event_monitor.o iio_utils.o   -o iio_event_monitor
arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -I/home/a0131834/workspace/git/mainline/linux/usr/include   -c -o lsiio.o lsiio.c
arm-linux-gnueabihf-gcc   lsiio.o iio_utils.o   -o lsiio
arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -I/home/a0131834/workspace/git/mainline/linux/usr/include   -c -o iio_generic_buffer.o iio_generic_buffer.c
arm-linux-gnueabihf-gcc   iio_generic_buffer.o iio_utils.o   -o iio_generic_buffer
make: Leaving directory '/home/a0131834/workspace/git/mainline/linux/tools/iio'

---
 tools/iio/Makefile | 3 ++-
 1 file changed, 2 insertions(+), 1 deletion(-)

diff --git a/tools/iio/Makefile b/tools/iio/Makefile
index 5446d62..0ec3ea0 100644
--- a/tools/iio/Makefile
+++ b/tools/iio/Makefile
@@ -1,5 +1,6 @@
 CC = $(CROSS_COMPILE)gcc
-CFLAGS += -Wall -g -D_GNU_SOURCE
+KBUILD_OUTPUT ?= /lib/modules/$(shell uname -r)/build
+CFLAGS += -Wall -g -D_GNU_SOURCE -I$(KBUILD_OUTPUT)/usr/include
 
 BINDIR=usr/bin
 INSTALL_PROGRAM=install -m 755 -p
-- 
2.9.2.664.ga0a1831

[toc] | [next] | [standalone]


#1467214 — Re: [PATCH] tools: iio: fix iio build error by adding KBUILD_OUTPUT support to makefile

FromJonathan Cameron <jic23@kernel.org>
Date2016-08-21 21:10 +0200
SubjectRe: [PATCH] tools: iio: fix iio build error by adding KBUILD_OUTPUT support to makefile
Message-ID<s8Gi6-4iZ-13@gated-at.bofh.it>
In reply to#1460193
On 11/08/16 07:01, Mugunthan V N wrote:
> Current make doesn't have support to pass kernel built directory
> to find events.h kernel header file, so adding support for
> KBUILD_OUTPUT support to Makefile.
> 
> $ make CROSS_COMPILE=arm-linux-gnueabihf- -C tools/iio
> make: Entering directory '/home/a0131834/workspace/git/mainline/linux/tools/iio'
> arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE   -c -o iio_event_monitor.o iio_event_monitor.c
> arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE   -c -o iio_utils.o iio_utils.c
> arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE   -c -o lsiio.o lsiio.c
> arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE   -c -o iio_generic_buffer.o iio_generic_buffer.c
> arm-linux-gnueabihf-gcc   lsiio.o iio_utils.o   -o lsiio
> arm-linux-gnueabihf-gcc   iio_generic_buffer.o iio_utils.o   -o iio_generic_buffer
> iio_event_monitor.c:28:30: fatal error: linux/iio/events.h: No such file or directory
>  #include <linux/iio/events.h>
>                                ^
> compilation terminated.
> <builtin>: recipe for target 'iio_event_monitor.o' failed
> make: *** [iio_event_monitor.o] Error 1
> make: Leaving directory '/home/a0131834/workspace/git/mainline/linux/tools/iio'
> 
> Signed-off-by: Mugunthan V N <mugunthanvnm@ti.com>
I can see where you are coming from, but wouldn't we normally expect the kernel
headers for the relevant kernel to available as part of the toolchain being
used to do the build?

They often lag a bit I guess, so perhaps we do want to put this little bit
of 'fudging' in place.

What do others think?

Jonathan
> ---
> 
> With this fix I am able to build the iio tools
> 
> $ make CROSS_COMPILE=arm-linux-gnueabihf- -C tools/iio KBUILD_OUTPUT=`pwd`
> make: Entering directory '/home/a0131834/workspace/git/mainline/linux/tools/iio'
> arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -I/home/a0131834/workspace/git/mainline/linux/usr/include   -c -o iio_event_monitor.o iio_event_monitor.c
> arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -I/home/a0131834/workspace/git/mainline/linux/usr/include   -c -o iio_utils.o iio_utils.c
> arm-linux-gnueabihf-gcc   iio_event_monitor.o iio_utils.o   -o iio_event_monitor
> arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -I/home/a0131834/workspace/git/mainline/linux/usr/include   -c -o lsiio.o lsiio.c
> arm-linux-gnueabihf-gcc   lsiio.o iio_utils.o   -o lsiio
> arm-linux-gnueabihf-gcc -Wall -g -D_GNU_SOURCE -I/home/a0131834/workspace/git/mainline/linux/usr/include   -c -o iio_generic_buffer.o iio_generic_buffer.c
> arm-linux-gnueabihf-gcc   iio_generic_buffer.o iio_utils.o   -o iio_generic_buffer
> make: Leaving directory '/home/a0131834/workspace/git/mainline/linux/tools/iio'
> 
> ---
>  tools/iio/Makefile | 3 ++-
>  1 file changed, 2 insertions(+), 1 deletion(-)
> 
> diff --git a/tools/iio/Makefile b/tools/iio/Makefile
> index 5446d62..0ec3ea0 100644
> --- a/tools/iio/Makefile
> +++ b/tools/iio/Makefile
> @@ -1,5 +1,6 @@
>  CC = $(CROSS_COMPILE)gcc
> -CFLAGS += -Wall -g -D_GNU_SOURCE
> +KBUILD_OUTPUT ?= /lib/modules/$(shell uname -r)/build
> +CFLAGS += -Wall -g -D_GNU_SOURCE -I$(KBUILD_OUTPUT)/usr/include
>  
>  BINDIR=usr/bin
>  INSTALL_PROGRAM=install -m 755 -p
> 

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web