[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <a9537e78-f40f-f954-c592-d416a44ea6e9@redhat.com>
Date: Mon, 12 Sep 2016 08:22:17 -0700
From: Laura Abbott <labbott@...hat.com>
To: Jonathan Cameron <jic23@...nel.org>,
Daniel Baluta <daniel.baluta@...il.com>
Cc: Hartmut Knaack <knaack.h@....de>,
Lars-Peter Clausen <lars@...afoo.de>,
Peter Meerwald-Stadler <pmeerw@...erw.net>,
"linux-iio@...r.kernel.org" <linux-iio@...r.kernel.org>,
Linux Kernel Mailing List <linux-kernel@...r.kernel.org>,
ben@...adent.org.uk
Subject: Re: [PATCH] iio: Use type header from kernel tree
On 09/10/2016 08:01 AM, Jonathan Cameron wrote:
> 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@...hat.com> 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@...hat.com>
>>>
>>> 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.
>
Yes, some consistency would be useful across all tools. I really just want
'make' to work on all the tools directories without having to worry about
what kernel/headers are installed. I'll be around ksummit/plumbers so I'm
happy to talk more there.
Thanks,
Laura
> Jonathan
>>
>> Thanks,
>> Laura
>
Powered by blists - more mailing lists