Patchwork [meta-oe] media-ctl: Use linux-libc-headers instead of linux kernel sources

login
register
mail settings
Submitter Stefan Herbrechtsmeier
Date May 6, 2013, 12:20 p.m.
Message ID <1367842801-347-1-git-send-email-stefan@herbrechtsmeier.net>
Download mbox | patch
Permalink /patch/49355/
State Accepted, archived
Commit 0c47dcf1dfe9cb5fb2fbe06e06d42920c6f4bcc0
Headers show

Comments

Stefan Herbrechtsmeier - May 6, 2013, 12:20 p.m.
Use the headers from the linux-libc-headers instead of the headers
from the linux kernel sources because user space programs should
be built against the header files provided by the distribution.

In file included from .../usr/src/kernel/include/linux/media.h:27:0,
                 from conftest.c:56:
.../usr/src/kernel/include/linux/types.h:13:2: warning: #warning \
"Attempt to use kernel headers from user space, see http://kernelnewbies.org/KernelHeaders" [-Wcpp]

On some platforms (qemu) intern kernel header (linux/types.h) redefines
some types from the system header (sys/types.h, timer.h, stdint.h)
and thereby breaks the checking of the linux media header.

ERROR: Kernel header file not found or not usable!

In file included from .../usr/include/linux/media.h:27:0,
                 from conftest.c:56:
In file included from .../usr/src/kernel/include/linux/types.h:14:26: error: conflicting types for 'fd_set'
In file included from .../sys/select.h:75:5: note: previous declaration of 'fd_set' was here

Similar errors for dev_t, mode_t, timer_t, uintptr_t and blkcnt_t.

Signed-off-by: Stefan Herbrechtsmeier <stefan@herbrechtsmeier.net>
---
 .../recipes-multimedia/v4l2apps/media-ctl_git.bb   |    7 ++++---
 1 files changed, 4 insertions(+), 3 deletions(-)

Patch

diff --git a/meta-oe/recipes-multimedia/v4l2apps/media-ctl_git.bb b/meta-oe/recipes-multimedia/v4l2apps/media-ctl_git.bb
index d96c1f9..cb3072b 100644
--- a/meta-oe/recipes-multimedia/v4l2apps/media-ctl_git.bb
+++ b/meta-oe/recipes-multimedia/v4l2apps/media-ctl_git.bb
@@ -2,17 +2,18 @@  DESCRIPTION = "Media controller control application"
 LICENSE = "LGPLv2+"
 LIC_FILES_CHKSUM = "file://COPYING.LIB;md5=d749e86a105281d7a44c2328acebc4b0"
 
+DEPENDS = "linux-libc-headers"
+
 SRC_URI = "git://git.ideasonboard.org/media-ctl.git;protocol=git"
 SRCREV = "a6ec4a37028952ffd6e62eb52648cf66248eb519"
 
 PV = "0.0.1"
-PR = "r3"
+PR = "r4"
 S = "${WORKDIR}/git"
 
 inherit autotools
 
-# It needs some kernel definitions only for v4l2, so it isn't machine specific
-EXTRA_OECONF = "--with-kernel-headers=${STAGING_KERNEL_DIR}"
+EXTRA_OECONF = "--with-kernel-headers=${STAGING_EXECPREFIXDIR}"
 
 PACKAGES =+ "libmediactl libv4l2subdev"
 FILES_libmediactl = "${libdir}/libmediactl${SOLIBS}"