Re: [PATCH] iio: Use type header from kernel tree

From: Daniel Baluta
Date: Fri Sep 09 2016 - 11:35:59 EST


On Fri, Sep 9, 2016 at 6:24 PM, Laura Abbott <labbott@xxxxxxxxxx> wrote:
>
> The iio tools have been updated as new event types have been added to
> the kernel. The tools currently use the standard system headers which
> means that the system may not have the newest defintitions. This leads
> to build failures when building newer tools on older hosts:
>
> gcc -Wall -g -D_GNU_SOURCE -c -o iio_event_monitor.o
> iio_event_monitor.c
> iio_event_monitor.c:59:3: error: âIIO_UVINDEXâ undeclared here (not in a
> function)
> [IIO_UVINDEX] = "uvindex",
> ^~~~~~~~~~~
> iio_event_monitor.c:59:3: error: array index in initializer not of
> integer type
> iio_event_monitor.c:59:3: note: (near initialization for
> âiio_chan_type_name_specâ)
> iio_event_monitor.c:97:3: error: âIIO_MOD_LIGHT_UVâ undeclared here (not
> in a function)
> [IIO_MOD_LIGHT_UV] = "uv",
> ^~~~~~~~~~~~~~~~
> iio_event_monitor.c:97:3: error: array index in initializer not of
> integer type
> iio_event_monitor.c:97:3: note: (near initialization for
> âiio_modifier_namesâ)
> <builtin>: recipe for target 'iio_event_monitor.o' failed
>
> Switch to using the header from the kernel tree to ensure the newest
> defintions are always picked up.
>
> Signed-off-by: Laura Abbott <labbott@xxxxxxxxxx>

Hi Laura,

Thanks for your patch. The solution here would be to install the
headers for your
new kernel in order to use the updated types.

That is you should run make headers_install.

$ make help | grep headers
headers_install - Install sanitised kernel headers to INSTALL_HDR_PATH

You can use INSTALL_HDR_PATH to put the headers in a custom directory
and tell gcc to also include this directory when searching for include headers.

Daniel.