All of lore.kernel.org
 help / color / mirror / Atom feed
* [Buildroot] media-ctl build failure (autobuild)
@ 2013-03-28  7:44 Thomas De Schampheleire
  2013-03-28  8:53 ` Thomas Petazzoni
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas De Schampheleire @ 2013-03-28  7:44 UTC (permalink / raw)
  To: buildroot

Hi,

The media-ctl package is failing to build on several autobuilds, like:
http://autobuild.buildroot.org/results/c85926967750bcdf5f21c54350ad2bd320a3ecfe/
http://autobuild.buildroot.org/results/f82329d4d37f8f2793e3be2b9a4f541f7aea1cb5/

The cause is the absence of kernel header linux/media.h, which was added in
2.6.39. The toolchains on which it fails (ARM201103, PPC201009, ..) have
older kernel headers than that.

What is the appropriate action here:
1. remove the old toolchains?
2. add some kind of fragile dependency between media-ctl and specific
toolchain config variables
3. introduce a way to specify which kernel header versions are used for
external toolchains, and check this for packages that need it
4. don't bother, let the package fail for these old toolchains

Thanks,
Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20130328/cdca1e01/attachment.html>

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot] media-ctl build failure (autobuild)
  2013-03-28  7:44 [Buildroot] media-ctl build failure (autobuild) Thomas De Schampheleire
@ 2013-03-28  8:53 ` Thomas Petazzoni
  2013-04-02 19:44   ` Thomas De Schampheleire
  0 siblings, 1 reply; 3+ messages in thread
From: Thomas Petazzoni @ 2013-03-28  8:53 UTC (permalink / raw)
  To: buildroot

Dear Thomas De Schampheleire,

On Thu, 28 Mar 2013 08:44:54 +0100, Thomas De Schampheleire wrote:

> What is the appropriate action here:
> 1. remove the old toolchains?
> 2. add some kind of fragile dependency between media-ctl and specific
> toolchain config variables
> 3. introduce a way to specify which kernel header versions are used for
> external toolchains, and check this for packages that need it
> 4. don't bother, let the package fail for these old toolchains

5. Do what I've done for neard, i.e
package/neard/neard-fix-missing-linux-nfc-header.patch: we add a
patch to the package that integrates directly into the package the
required kernel headers, and adjust the autoconf script to either use
the header from the toolchain if it's available, or the bundled header
if not. Over time, toolchains will be updated to more recent kernel
header versions, and we should be able to get rid of such patches.

Even though it's not really nice, I believe it's the least painful way.

Of course, it has the drawback that if the user happens to use a kernel
version that does not have the NFC functionality of the media-ctl
functionality, it will simply not work.

Best regards,

Thomas
-- 
Thomas Petazzoni, Free Electrons
Kernel, drivers, real-time and embedded Linux
development, consulting, training and support.
http://free-electrons.com

^ permalink raw reply	[flat|nested] 3+ messages in thread

* [Buildroot] media-ctl build failure (autobuild)
  2013-03-28  8:53 ` Thomas Petazzoni
@ 2013-04-02 19:44   ` Thomas De Schampheleire
  0 siblings, 0 replies; 3+ messages in thread
From: Thomas De Schampheleire @ 2013-04-02 19:44 UTC (permalink / raw)
  To: buildroot

Hi Thomas,


On Thu, Mar 28, 2013 at 9:53 AM, Thomas Petazzoni <
thomas.petazzoni@free-electrons.com> wrote:

> Dear Thomas De Schampheleire,
>
> On Thu, 28 Mar 2013 08:44:54 +0100, Thomas De Schampheleire wrote:
>
> > What is the appropriate action here:
> > 1. remove the old toolchains?
> > 2. add some kind of fragile dependency between media-ctl and specific
> > toolchain config variables
> > 3. introduce a way to specify which kernel header versions are used for
> > external toolchains, and check this for packages that need it
> > 4. don't bother, let the package fail for these old toolchains
>
> 5. Do what I've done for neard, i.e
> package/neard/neard-fix-missing-linux-nfc-header.patch: we add a
> patch to the package that integrates directly into the package the
> required kernel headers, and adjust the autoconf script to either use
> the header from the toolchain if it's available, or the bundled header
> if not. Over time, toolchains will be updated to more recent kernel
> header versions, and we should be able to get rid of such patches.
>
> Even though it's not really nice, I believe it's the least painful way.
>
> Of course, it has the drawback that if the user happens to use a kernel
> version that does not have the NFC functionality of the media-ctl
> functionality, it will simply not work.
>

Thanks for your input.
I'm planning to do it like this, but currently have some time
insufficiency. I hope to get to it soon.

It seems that for some v4l kernel header files, the media-ctl package
already has local copies, but for some reason I do not understand they
still forcibly check for these files in the configure script. Moreover,
even if the user does have the necessary kernel headers installed, the
local copies will be used.

I hope to be able to improve on this, with the following algorithm:
- either the user has all necessary files, and we use them
- or at least one file is missing, and we use local copies for all of the
checked files (even though only some are missing).

While this strategy is very coarse-grained, as it's basically all or
nothing, I think it would be sufficient for buildroot, and already an
improvement of the upstream media-ctl package.

Best regards,
Thomas
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://lists.busybox.net/pipermail/buildroot/attachments/20130402/85220a21/attachment-0001.html>

^ permalink raw reply	[flat|nested] 3+ messages in thread

end of thread, other threads:[~2013-04-02 19:44 UTC | newest]

Thread overview: 3+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2013-03-28  7:44 [Buildroot] media-ctl build failure (autobuild) Thomas De Schampheleire
2013-03-28  8:53 ` Thomas Petazzoni
2013-04-02 19:44   ` Thomas De Schampheleire

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.