On 09/09/16 16:47, Laura Abbott wrote: > On 09/09/2016 08:35 AM, Daniel Baluta wrote: >> 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. >> > > That's a pretty ugly solution. We want to build this as part of Fedora > and installing another local copy of the headers in the build environment > complicates an already complicated build process. This is more work > for users building on their own as well. Several other tools in the tools > directory already use the headers from the kernel tree, is there a reason > iio doesn't want to as well? This got raised as a suggestion for discussion at the kernel summit this year. Clearly a somewhat contentious topic ;) https://lists.linuxfoundation.org/pipermail/ksummit-discuss/2016-September/003829.html I'd prefer to see some resolution on that discussion before making any changes. Looks like there are some moves afoot to standardise a lot of this stuff in tools. I've cc'd Ben who raised this particular issue in the first place. Jonathan > > Thanks, > Laura -- To unsubscribe from this list: send the line "unsubscribe linux-iio" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html