* [PATCH] gstreamer1.0-plugins-bad: Add PKG_CONFIG_SYSROOT_DIR to output of pkg-config
@ 2016-12-01 8:37 Khem Raj
2016-12-05 13:20 ` Jussi Kukkonen
0 siblings, 1 reply; 7+ messages in thread
From: Khem Raj @ 2016-12-01 8:37 UTC (permalink / raw)
To: openembedded-core
When configure pokes for wayland-protocols isntallations it ended up
using the ones from host, which is because it did not account for sysroot
prefix
Signed-off-by: Khem Raj <raj.khem@gmail.com>
---
.../gstreamer/gstreamer1.0-plugins-bad.inc | 2 +-
...G_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch | 37 ++++++++++++++++++++++
.../gstreamer/gstreamer1.0-plugins-bad_1.10.1.bb | 1 +
3 files changed, 39 insertions(+), 1 deletion(-)
create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
index d26a6a9..d3c5326 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
@@ -64,7 +64,7 @@ PACKAGECONFIG[srtp] = "--enable-srtp,--disable-srtp,libsrtp"
PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1 libgudev"
PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-voaacenc,vo-aacenc"
PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc"
-PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland"
+PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols"
PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
# these plugins have not been ported to 1.0 (yet):
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
new file mode 100644
index 0000000..eb789df
--- /dev/null
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
@@ -0,0 +1,37 @@
+From c271503d7e233428ac0323c51d6517113e26bef7 Mon Sep 17 00:00:00 2001
+From: Khem Raj <raj.khem@gmail.com>
+Date: Thu, 1 Dec 2016 00:27:13 -0800
+Subject: [PATCH] Prepend PKG_CONFIG_SYSROOT_DIR to pkg-config output
+
+In cross environment we have to prepend the sysroot to the path found by
+pkgconfig since the path returned from pkgconfig does not have sysroot prefixed
+it ends up using the files from host system. If build host has wayland installed
+the build will succeed but if you dont have wayland-protocols installed on build host then
+it wont find the files on build host
+
+This should work ok with non sysrooted builds too since in those cases PKG_CONFIG_SYSROOT_DIR
+will be empty
+
+Upstream-Status: Pending
+
+Signed-off-by: Khem Raj <raj.khem@gmail.com>
+---
+ configure.ac | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/configure.ac b/configure.ac
+index f8ac96b..dc87b08 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -2233,7 +2233,7 @@ AG_GST_CHECK_FEATURE(WAYLAND, [wayland sink], wayland , [
+ PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, wayland-protocols >= 1.4, [
+ if test "x$wayland_scanner" != "x"; then
+ HAVE_WAYLAND="yes"
+- AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, `$PKG_CONFIG --variable=pkgdatadir wayland-protocols`)
++ AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, ${PKG_CONFIG_SYSROOT_DIR}`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`)
+ else
+ AC_MSG_RESULT([wayland-scanner is required to build the wayland plugin])
+ HAVE_WAYLAND="no"
+--
+2.10.2
+
diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.1.bb
index 9cd892e..6c6f011 100644
--- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.1.bb
+++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.1.bb
@@ -14,6 +14,7 @@ SRC_URI = " \
file://0001-gstreamer-gl.pc.in-don-t-append-GL_CFLAGS-to-CFLAGS.patch \
file://0009-glimagesink-Downrank-to-marginal.patch \
file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
+ file://0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch \
"
SRC_URI[md5sum] = "491d2d5aab55ffc60c66e714d3d664ea"
SRC_URI[sha256sum] = "133e0ed9fe21011b15d3898e3d3a9d17ab74eed31996da2e353353e688ca921d"
--
2.10.2
^ permalink raw reply related [flat|nested] 7+ messages in thread* Re: [PATCH] gstreamer1.0-plugins-bad: Add PKG_CONFIG_SYSROOT_DIR to output of pkg-config
2016-12-01 8:37 [PATCH] gstreamer1.0-plugins-bad: Add PKG_CONFIG_SYSROOT_DIR to output of pkg-config Khem Raj
@ 2016-12-05 13:20 ` Jussi Kukkonen
2016-12-05 16:46 ` Khem Raj
2016-12-05 19:08 ` Khem Raj
0 siblings, 2 replies; 7+ messages in thread
From: Jussi Kukkonen @ 2016-12-05 13:20 UTC (permalink / raw)
To: Khem Raj; +Cc: Patches and discussions about the oe-core layer
[-- Attachment #1: Type: text/plain, Size: 5338 bytes --]
On 1 December 2016 at 10:37, Khem Raj <raj.khem@gmail.com> wrote:
> When configure pokes for wayland-protocols isntallations it ended up
> using the ones from host, which is because it did not account for sysroot
> prefix
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com>
> ---
> .../gstreamer/gstreamer1.0-plugins-bad.inc | 2 +-
> ...G_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch | 37
> ++++++++++++++++++++++
> .../gstreamer/gstreamer1.0-plugins-bad_1.10.1.bb | 1 +
> 3 files changed, 39 insertions(+), 1 deletion(-)
> create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-
> plugins-bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
>
> diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
> index d26a6a9..d3c5326 100644
> --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
> @@ -64,7 +64,7 @@ PACKAGECONFIG[srtp] =
> "--enable-srtp,--disable-srtp,libsrtp"
> PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1
> libgudev"
> PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-
> voaacenc,vo-aacenc"
> PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--
> disable-voamrwbenc,vo-amrwbenc"
> -PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native
> wayland"
> +PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native
> wayland wayland-protocols"
> PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
>
> # these plugins have not been ported to 1.0 (yet):
> diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-
> plugins-bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-
> plugins-bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
> new file mode 100644
> index 0000000..eb789df
> --- /dev/null
> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-
> plugins-bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
> @@ -0,0 +1,37 @@
> +From c271503d7e233428ac0323c51d6517113e26bef7 Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem@gmail.com>
> +Date: Thu, 1 Dec 2016 00:27:13 -0800
> +Subject: [PATCH] Prepend PKG_CONFIG_SYSROOT_DIR to pkg-config output
> +
> +In cross environment we have to prepend the sysroot to the path found by
> +pkgconfig since the path returned from pkgconfig does not have sysroot
> prefixed
> +it ends up using the files from host system. If build host has wayland
> installed
> +the build will succeed but if you dont have wayland-protocols installed
> on build host then
> +it wont find the files on build host
> +
> +This should work ok with non sysrooted builds too since in those cases
> PKG_CONFIG_SYSROOT_DIR
> +will be empty
> +
> +Upstream-Status: Pending
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
> +---
> + configure.ac | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/configure.ac b/configure.ac
> +index f8ac96b..dc87b08 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -2233,7 +2233,7 @@ AG_GST_CHECK_FEATURE(WAYLAND, [wayland sink],
> wayland , [
> + PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, wayland-protocols >= 1.4, [
> + if test "x$wayland_scanner" != "x"; then
> + HAVE_WAYLAND="yes"
> +- AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, `$PKG_CONFIG
> --variable=pkgdatadir wayland-protocols`)
> ++ AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, ${PKG_CONFIG_SYSROOT_DIR}`$PKG_CONFIG
> --variable=pkgdatadir wayland-protocols`)
>
I believe this breaks multilib because wayland-protocols is allarch so
PKG_CONFIG_SYSROOT_DIR may then be incorrect.
I've set "WAYLAND_PROTOCOLS_SYSROOT_DIR=${STAGING_DIR}/${MACHINE}"
in EXTRA_OECONF in other recipes and used that variable in the patches.
It's not pretty but seems to work.
Jussi
+ else
> + AC_MSG_RESULT([wayland-scanner is required to build the wayland
> plugin])
> + HAVE_WAYLAND="no"
> +--
> +2.10.2
> +
> diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-
> plugins-bad_1.10.1.bb b/meta/recipes-multimedia/gstreamer/gstreamer1.0-
> plugins-bad_1.10.1.bb
> index 9cd892e..6c6f011 100644
> --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.1.bb
> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.1.bb
> @@ -14,6 +14,7 @@ SRC_URI = " \
> file://0001-gstreamer-gl.pc.in-don-t-append-GL_CFLAGS-to-CFLAGS.patch
> \
> file://0009-glimagesink-Downrank-to-marginal.patch \
> file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch
> \
> + file://0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
> \
> "
> SRC_URI[md5sum] = "491d2d5aab55ffc60c66e714d3d664ea"
> SRC_URI[sha256sum] = "133e0ed9fe21011b15d3898e3d3a9d
> 17ab74eed31996da2e353353e688ca921d"
> --
> 2.10.2
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.openembedded.org/mailman/listinfo/openembedded-core
>
[-- Attachment #2: Type: text/html, Size: 7692 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH] gstreamer1.0-plugins-bad: Add PKG_CONFIG_SYSROOT_DIR to output of pkg-config
2016-12-05 13:20 ` Jussi Kukkonen
@ 2016-12-05 16:46 ` Khem Raj
2016-12-05 19:08 ` Khem Raj
1 sibling, 0 replies; 7+ messages in thread
From: Khem Raj @ 2016-12-05 16:46 UTC (permalink / raw)
To: Jussi Kukkonen; +Cc: Patches and discussions about the oe-core layer
On Mon, Dec 5, 2016 at 5:20 AM, Jussi Kukkonen <jussi.kukkonen@intel.com> wrote:
>
>
> On 1 December 2016 at 10:37, Khem Raj <raj.khem@gmail.com> wrote:
>>
>> When configure pokes for wayland-protocols isntallations it ended up
>> using the ones from host, which is because it did not account for sysroot
>> prefix
>>
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ---
>> .../gstreamer/gstreamer1.0-plugins-bad.inc | 2 +-
>> ...G_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch | 37
>> ++++++++++++++++++++++
>> .../gstreamer/gstreamer1.0-plugins-bad_1.10.1.bb | 1 +
>> 3 files changed, 39 insertions(+), 1 deletion(-)
>> create mode 100644
>> meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
>>
>> diff --git
>> a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
>> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
>> index d26a6a9..d3c5326 100644
>> --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
>> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
>> @@ -64,7 +64,7 @@ PACKAGECONFIG[srtp] =
>> "--enable-srtp,--disable-srtp,libsrtp"
>> PACKAGECONFIG[uvch264] =
>> "--enable-uvch264,--disable-uvch264,libusb1 libgudev"
>> PACKAGECONFIG[voaacenc] =
>> "--enable-voaacenc,--disable-voaacenc,vo-aacenc"
>> PACKAGECONFIG[voamrwbenc] =
>> "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc"
>> -PACKAGECONFIG[wayland] =
>> "--enable-wayland,--disable-wayland,wayland-native wayland"
>> +PACKAGECONFIG[wayland] =
>> "--enable-wayland,--disable-wayland,wayland-native wayland
>> wayland-protocols"
>> PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
>>
>> # these plugins have not been ported to 1.0 (yet):
>> diff --git
>> a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
>> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
>> new file mode 100644
>> index 0000000..eb789df
>> --- /dev/null
>> +++
>> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
>> @@ -0,0 +1,37 @@
>> +From c271503d7e233428ac0323c51d6517113e26bef7 Mon Sep 17 00:00:00 2001
>> +From: Khem Raj <raj.khem@gmail.com>
>> +Date: Thu, 1 Dec 2016 00:27:13 -0800
>> +Subject: [PATCH] Prepend PKG_CONFIG_SYSROOT_DIR to pkg-config output
>> +
>> +In cross environment we have to prepend the sysroot to the path found by
>> +pkgconfig since the path returned from pkgconfig does not have sysroot
>> prefixed
>> +it ends up using the files from host system. If build host has wayland
>> installed
>> +the build will succeed but if you dont have wayland-protocols installed
>> on build host then
>> +it wont find the files on build host
>> +
>> +This should work ok with non sysrooted builds too since in those cases
>> PKG_CONFIG_SYSROOT_DIR
>> +will be empty
>> +
>> +Upstream-Status: Pending
>> +
>> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> +---
>> + configure.ac | 2 +-
>> + 1 file changed, 1 insertion(+), 1 deletion(-)
>> +
>> +diff --git a/configure.ac b/configure.ac
>> +index f8ac96b..dc87b08 100644
>> +--- a/configure.ac
>> ++++ b/configure.ac
>> +@@ -2233,7 +2233,7 @@ AG_GST_CHECK_FEATURE(WAYLAND, [wayland sink],
>> wayland , [
>> + PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, wayland-protocols >= 1.4, [
>> + if test "x$wayland_scanner" != "x"; then
>> + HAVE_WAYLAND="yes"
>> +- AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, `$PKG_CONFIG
>> --variable=pkgdatadir wayland-protocols`)
>> ++ AC_SUBST(WAYLAND_PROTOCOLS_DATADIR,
>> ${PKG_CONFIG_SYSROOT_DIR}`$PKG_CONFIG --variable=pkgdatadir
>> wayland-protocols`)
>
>
> I believe this breaks multilib because wayland-protocols is allarch so
> PKG_CONFIG_SYSROOT_DIR may then be incorrect.
how so ?
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH] gstreamer1.0-plugins-bad: Add PKG_CONFIG_SYSROOT_DIR to output of pkg-config
2016-12-05 13:20 ` Jussi Kukkonen
2016-12-05 16:46 ` Khem Raj
@ 2016-12-05 19:08 ` Khem Raj
2016-12-06 17:18 ` Burton, Ross
2016-12-07 12:25 ` Jussi Kukkonen
1 sibling, 2 replies; 7+ messages in thread
From: Khem Raj @ 2016-12-05 19:08 UTC (permalink / raw)
To: Jussi Kukkonen; +Cc: Patches and discussions about the oe-core layer
[-- Attachment #1: Type: text/plain, Size: 6695 bytes --]
> On Dec 5, 2016, at 5:20 AM, Jussi Kukkonen <jussi.kukkonen@intel.com> wrote:
>
>
>
> On 1 December 2016 at 10:37, Khem Raj <raj.khem@gmail.com <mailto:raj.khem@gmail.com>> wrote:
> When configure pokes for wayland-protocols isntallations it ended up
> using the ones from host, which is because it did not account for sysroot
> prefix
>
> Signed-off-by: Khem Raj <raj.khem@gmail.com <mailto:raj.khem@gmail.com>>
> ---
> .../gstreamer/gstreamer1.0-plugins-bad.inc | 2 +-
> ...G_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch | 37 ++++++++++++++++++++++
> .../gstreamer/gstreamer1.0-plugins-bad_1.10.1.bb <http://gstreamer1.0-plugins-bad_1.10.1.bb/> | 1 +
> 3 files changed, 39 insertions(+), 1 deletion(-)
> create mode 100644 meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
>
> diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
> index d26a6a9..d3c5326 100644
> --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
> @@ -64,7 +64,7 @@ PACKAGECONFIG[srtp] = "--enable-srtp,--disable-srtp,libsrtp"
> PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1 libgudev"
> PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-voaacenc,vo-aacenc"
> PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc"
> -PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland"
> +PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native wayland wayland-protocols"
> PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
>
> # these plugins have not been ported to 1.0 (yet):
> diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
> new file mode 100644
> index 0000000..eb789df
> --- /dev/null
> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
> @@ -0,0 +1,37 @@
> +From c271503d7e233428ac0323c51d6517113e26bef7 Mon Sep 17 00:00:00 2001
> +From: Khem Raj <raj.khem@gmail.com <mailto:raj.khem@gmail.com>>
> +Date: Thu, 1 Dec 2016 00:27:13 -0800
> +Subject: [PATCH] Prepend PKG_CONFIG_SYSROOT_DIR to pkg-config output
> +
> +In cross environment we have to prepend the sysroot to the path found by
> +pkgconfig since the path returned from pkgconfig does not have sysroot prefixed
> +it ends up using the files from host system. If build host has wayland installed
> +the build will succeed but if you dont have wayland-protocols installed on build host then
> +it wont find the files on build host
> +
> +This should work ok with non sysrooted builds too since in those cases PKG_CONFIG_SYSROOT_DIR
> +will be empty
> +
> +Upstream-Status: Pending
> +
> +Signed-off-by: Khem Raj <raj.khem@gmail.com <mailto:raj.khem@gmail.com>>
> +---
> + configure.ac <http://configure.ac/> | 2 +-
> + 1 file changed, 1 insertion(+), 1 deletion(-)
> +
> +diff --git a/configure.ac <http://configure.ac/> b/configure.ac <http://configure.ac/>
> +index f8ac96b..dc87b08 100644
> +--- a/configure.ac <http://configure.ac/>
> ++++ b/configure.ac <http://configure.ac/>
> +@@ -2233,7 +2233,7 @@ AG_GST_CHECK_FEATURE(WAYLAND, [wayland sink], wayland , [
> + PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, wayland-protocols >= 1.4, [
> + if test "x$wayland_scanner" != "x"; then
> + HAVE_WAYLAND="yes"
> +- AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, `$PKG_CONFIG --variable=pkgdatadir wayland-protocols`)
> ++ AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, ${PKG_CONFIG_SYSROOT_DIR}`$PKG_CONFIG --variable=pkgdatadir wayland-protocols`)
>
> I believe this breaks multilib because wayland-protocols is allarch so PKG_CONFIG_SYSROOT_DIR may then be incorrect.
Realized my last reply is too terse. expanding on it a bit more.
this is not really the case. Since PKG_CONFIG_SYSROOT_DIR is set to STAGING_DIR_HOST which is then set to ${STAGING_DIR}/${MACHINE} so effectively its just
reusing an existing var compared to your case where a new redundant variable is introduced.
having said that, there could be a multilib issue if pkgdatadir thats in .pc file from wayland-protocols package is using variables like ${libdir} which then are
multilib dependent, if this is the case then we need to fix .pc file. however when I look at the <target-sysroot>/usr/share/pkgconfig/wayland-protocols.pc it has
prefix=/usr
datarootdir=${prefix}/share
pkgdatadir=/usr/share/wayland-protocols
seems to be free of multilib deps.
>
> I've set "WAYLAND_PROTOCOLS_SYSROOT_DIR=${STAGING_DIR}/${MACHINE}" in EXTRA_OECONF in other recipes and used that variable in the patches. It's not pretty but seems to work.
>
> Jussi
>
> + else
> + AC_MSG_RESULT([wayland-scanner is required to build the wayland plugin])
> + HAVE_WAYLAND="no"
> +--
> +2.10.2
> +
> diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.1.bb <http://gstreamer1.0-plugins-bad_1.10.1.bb/> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.1.bb <http://gstreamer1.0-plugins-bad_1.10.1.bb/>
> index 9cd892e..6c6f011 100644
> --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.1.bb <http://gstreamer1.0-plugins-bad_1.10.1.bb/>
> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad_1.10.1.bb <http://gstreamer1.0-plugins-bad_1.10.1.bb/>
> @@ -14,6 +14,7 @@ SRC_URI = " \
> file://0001-gstreamer-gl.pc.in-don-t-append-GL_CFLAGS-to-CFLAGS.patch \
> file://0009-glimagesink-Downrank-to-marginal.patch \
> file://0001-introspection.m4-prefix-pkgconfig-paths-with-PKG_CON.patch \
> + file://0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch \
> "
> SRC_URI[md5sum] = "491d2d5aab55ffc60c66e714d3d664ea"
> SRC_URI[sha256sum] = "133e0ed9fe21011b15d3898e3d3a9d17ab74eed31996da2e353353e688ca921d"
> --
> 2.10.2
>
> --
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org <mailto:Openembedded-core@lists.openembedded.org>
> http://lists.openembedded.org/mailman/listinfo/openembedded-core <http://lists.openembedded.org/mailman/listinfo/openembedded-core>
[-- Attachment #2: Type: text/html, Size: 12496 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH] gstreamer1.0-plugins-bad: Add PKG_CONFIG_SYSROOT_DIR to output of pkg-config
2016-12-05 19:08 ` Khem Raj
@ 2016-12-06 17:18 ` Burton, Ross
2016-12-07 12:25 ` Jussi Kukkonen
1 sibling, 0 replies; 7+ messages in thread
From: Burton, Ross @ 2016-12-06 17:18 UTC (permalink / raw)
To: Khem Raj; +Cc: Patches and discussions about the oe-core layer
[-- Attachment #1: Type: text/plain, Size: 670 bytes --]
On 5 December 2016 at 19:08, Khem Raj <raj.khem@gmail.com> wrote:
> having said that, there could be a multilib issue if pkgdatadir thats in
> .pc file from wayland-protocols package is using variables like ${libdir}
> which then are
> multilib dependent, if this is the case then we need to fix .pc file.
> however when I look at the <target-sysroot>/usr/share/pkgconfig/wayland-protocols.pc
> it has
>
> prefix=/usr
> datarootdir=${prefix}/share
> pkgdatadir=/usr/share/wayland-protocols
>
> seems to be free of multilib deps.
>
Funnily enough this just failed in multilib on the AB (
http://errors.yoctoproject.org/Errors/Details/111361/)
Ross
[-- Attachment #2: Type: text/html, Size: 1226 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH] gstreamer1.0-plugins-bad: Add PKG_CONFIG_SYSROOT_DIR to output of pkg-config
2016-12-05 19:08 ` Khem Raj
2016-12-06 17:18 ` Burton, Ross
@ 2016-12-07 12:25 ` Jussi Kukkonen
2016-12-07 19:46 ` Khem Raj
1 sibling, 1 reply; 7+ messages in thread
From: Jussi Kukkonen @ 2016-12-07 12:25 UTC (permalink / raw)
To: Khem Raj; +Cc: Patches and discussions about the oe-core layer
[-- Attachment #1: Type: text/plain, Size: 5449 bytes --]
On 5 December 2016 at 21:08, Khem Raj <raj.khem@gmail.com> wrote:
>
> On Dec 5, 2016, at 5:20 AM, Jussi Kukkonen <jussi.kukkonen@intel.com>
> wrote:
>
>
>
> On 1 December 2016 at 10:37, Khem Raj <raj.khem@gmail.com> wrote:
>
>> When configure pokes for wayland-protocols isntallations it ended up
>> using the ones from host, which is because it did not account for sysroot
>> prefix
>>
>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> ---
>> .../gstreamer/gstreamer1.0-plugins-bad.inc | 2 +-
>> ...G_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch | 37
>> ++++++++++++++++++++++
>> .../gstreamer/gstreamer1.0-plugins-bad_1.10.1.bb | 1 +
>> 3 files changed, 39 insertions(+), 1 deletion(-)
>> create mode 100644 meta/recipes-multimedia/gstrea
>> mer/gstreamer1.0-plugins-bad/0001-Prepend-PKG_CONFIG_
>> SYSROOT_DIR-to-pkg-config-output.patch
>>
>> diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
>> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
>> index d26a6a9..d3c5326 100644
>> --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
>> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
>> @@ -64,7 +64,7 @@ PACKAGECONFIG[srtp] =
>> "--enable-srtp,--disable-srtp,libsrtp"
>> PACKAGECONFIG[uvch264] = "--enable-uvch264,--disable-uvch264,libusb1
>> libgudev"
>> PACKAGECONFIG[voaacenc] = "--enable-voaacenc,--disable-v
>> oaacenc,vo-aacenc"
>> PACKAGECONFIG[voamrwbenc] = "--enable-voamrwbenc,--disable
>> -voamrwbenc,vo-amrwbenc"
>> -PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native
>> wayland"
>> +PACKAGECONFIG[wayland] = "--enable-wayland,--disable-wayland,wayland-native
>> wayland wayland-protocols"
>> PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
>>
>> # these plugins have not been ported to 1.0 (yet):
>> diff --git a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-
>> bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
>> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-
>> bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
>> new file mode 100644
>> index 0000000..eb789df
>> --- /dev/null
>> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-
>> bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
>> @@ -0,0 +1,37 @@
>> +From c271503d7e233428ac0323c51d6517113e26bef7 Mon Sep 17 00:00:00 2001
>> +From: Khem Raj <raj.khem@gmail.com>
>> +Date: Thu, 1 Dec 2016 00:27:13 -0800
>> +Subject: [PATCH] Prepend PKG_CONFIG_SYSROOT_DIR to pkg-config output
>> +
>> +In cross environment we have to prepend the sysroot to the path found by
>> +pkgconfig since the path returned from pkgconfig does not have sysroot
>> prefixed
>> +it ends up using the files from host system. If build host has wayland
>> installed
>> +the build will succeed but if you dont have wayland-protocols installed
>> on build host then
>> +it wont find the files on build host
>> +
>> +This should work ok with non sysrooted builds too since in those cases
>> PKG_CONFIG_SYSROOT_DIR
>> +will be empty
>> +
>> +Upstream-Status: Pending
>> +
>> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
>> +---
>> + configure.ac | 2 +-
>> + 1 file changed, 1 insertion(+), 1 deletion(-)
>> +
>> +diff --git a/configure.ac b/configure.ac
>> +index f8ac96b..dc87b08 100644
>> +--- a/configure.ac
>> ++++ b/configure.ac
>> +@@ -2233,7 +2233,7 @@ AG_GST_CHECK_FEATURE(WAYLAND, [wayland sink],
>> wayland , [
>> + PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, wayland-protocols >= 1.4, [
>> + if test "x$wayland_scanner" != "x"; then
>> + HAVE_WAYLAND="yes"
>> +- AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, `$PKG_CONFIG
>> --variable=pkgdatadir wayland-protocols`)
>> ++ AC_SUBST(WAYLAND_PROTOCOLS_DATADIR,
>> ${PKG_CONFIG_SYSROOT_DIR}`$PKG_CONFIG --variable=pkgdatadir
>> wayland-protocols`)
>>
>
> I believe this breaks multilib because wayland-protocols is allarch so
> PKG_CONFIG_SYSROOT_DIR may then be incorrect.
>
>
> Realized my last reply is too terse. expanding on it a bit more.
> this is not really the case. Since PKG_CONFIG_SYSROOT_DIR is set to
> STAGING_DIR_HOST which is then set to ${STAGING_DIR}/${MACHINE} so
> effectively its just
> reusing an existing var compared to your case where a new redundant
> variable is introduced.
>
> having said that, there could be a multilib issue if pkgdatadir thats in
> .pc file from wayland-protocols package is using variables like ${libdir}
> which then are
> multilib dependent, if this is the case then we need to fix .pc file.
> however when I look at the <target-sysroot>/usr/share/pkgconfig/wayland-protocols.pc
> it has
>
> prefix=/usr
> datarootdir=${prefix}/share
> pkgdatadir=/usr/share/wayland-protocols
>
> seems to be free of multilib deps.
>
>
It's not about the .pc file, the issue is that if you build
lib32-gstreamer1.0-plugins-bad WAYLAND_PROTOCOLS_DATADIR will end up as (as
an example)
$TMPDIR/sysroots/lib32-qemux86-64/usr/share/wayland-protocols/
but that's not where wayland protocols are. The actual path is
$TMPDIR/sysroots/qemux86-64/usr/share/wayland-protocols/
Maybe there should be a generic multilib fix for this but I can't figure
out what it would be...
Jussi
[-- Attachment #2: Type: text/html, Size: 8511 bytes --]
^ permalink raw reply [flat|nested] 7+ messages in thread* Re: [PATCH] gstreamer1.0-plugins-bad: Add PKG_CONFIG_SYSROOT_DIR to output of pkg-config
2016-12-07 12:25 ` Jussi Kukkonen
@ 2016-12-07 19:46 ` Khem Raj
0 siblings, 0 replies; 7+ messages in thread
From: Khem Raj @ 2016-12-07 19:46 UTC (permalink / raw)
To: Jussi Kukkonen; +Cc: Patches and discussions about the oe-core layer
On Wed, Dec 7, 2016 at 4:25 AM, Jussi Kukkonen <jussi.kukkonen@intel.com> wrote:
>
>
> On 5 December 2016 at 21:08, Khem Raj <raj.khem@gmail.com> wrote:
>>
>>
>> On Dec 5, 2016, at 5:20 AM, Jussi Kukkonen <jussi.kukkonen@intel.com>
>> wrote:
>>
>>
>>
>> On 1 December 2016 at 10:37, Khem Raj <raj.khem@gmail.com> wrote:
>>>
>>> When configure pokes for wayland-protocols isntallations it ended up
>>> using the ones from host, which is because it did not account for sysroot
>>> prefix
>>>
>>> Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>> ---
>>> .../gstreamer/gstreamer1.0-plugins-bad.inc | 2 +-
>>> ...G_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch | 37
>>> ++++++++++++++++++++++
>>> .../gstreamer/gstreamer1.0-plugins-bad_1.10.1.bb | 1 +
>>> 3 files changed, 39 insertions(+), 1 deletion(-)
>>> create mode 100644
>>> meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
>>>
>>> diff --git
>>> a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
>>> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
>>> index d26a6a9..d3c5326 100644
>>> --- a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
>>> +++ b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad.inc
>>> @@ -64,7 +64,7 @@ PACKAGECONFIG[srtp] =
>>> "--enable-srtp,--disable-srtp,libsrtp"
>>> PACKAGECONFIG[uvch264] =
>>> "--enable-uvch264,--disable-uvch264,libusb1 libgudev"
>>> PACKAGECONFIG[voaacenc] =
>>> "--enable-voaacenc,--disable-voaacenc,vo-aacenc"
>>> PACKAGECONFIG[voamrwbenc] =
>>> "--enable-voamrwbenc,--disable-voamrwbenc,vo-amrwbenc"
>>> -PACKAGECONFIG[wayland] =
>>> "--enable-wayland,--disable-wayland,wayland-native wayland"
>>> +PACKAGECONFIG[wayland] =
>>> "--enable-wayland,--disable-wayland,wayland-native wayland
>>> wayland-protocols"
>>> PACKAGECONFIG[webp] = "--enable-webp,--disable-webp,libwebp"
>>>
>>> # these plugins have not been ported to 1.0 (yet):
>>> diff --git
>>> a/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
>>> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
>>> new file mode 100644
>>> index 0000000..eb789df
>>> --- /dev/null
>>> +++
>>> b/meta/recipes-multimedia/gstreamer/gstreamer1.0-plugins-bad/0001-Prepend-PKG_CONFIG_SYSROOT_DIR-to-pkg-config-output.patch
>>> @@ -0,0 +1,37 @@
>>> +From c271503d7e233428ac0323c51d6517113e26bef7 Mon Sep 17 00:00:00 2001
>>> +From: Khem Raj <raj.khem@gmail.com>
>>> +Date: Thu, 1 Dec 2016 00:27:13 -0800
>>> +Subject: [PATCH] Prepend PKG_CONFIG_SYSROOT_DIR to pkg-config output
>>> +
>>> +In cross environment we have to prepend the sysroot to the path found by
>>> +pkgconfig since the path returned from pkgconfig does not have sysroot
>>> prefixed
>>> +it ends up using the files from host system. If build host has wayland
>>> installed
>>> +the build will succeed but if you dont have wayland-protocols installed
>>> on build host then
>>> +it wont find the files on build host
>>> +
>>> +This should work ok with non sysrooted builds too since in those cases
>>> PKG_CONFIG_SYSROOT_DIR
>>> +will be empty
>>> +
>>> +Upstream-Status: Pending
>>> +
>>> +Signed-off-by: Khem Raj <raj.khem@gmail.com>
>>> +---
>>> + configure.ac | 2 +-
>>> + 1 file changed, 1 insertion(+), 1 deletion(-)
>>> +
>>> +diff --git a/configure.ac b/configure.ac
>>> +index f8ac96b..dc87b08 100644
>>> +--- a/configure.ac
>>> ++++ b/configure.ac
>>> +@@ -2233,7 +2233,7 @@ AG_GST_CHECK_FEATURE(WAYLAND, [wayland sink],
>>> wayland , [
>>> + PKG_CHECK_MODULES(WAYLAND_PROTOCOLS, wayland-protocols >= 1.4, [
>>> + if test "x$wayland_scanner" != "x"; then
>>> + HAVE_WAYLAND="yes"
>>> +- AC_SUBST(WAYLAND_PROTOCOLS_DATADIR, `$PKG_CONFIG
>>> --variable=pkgdatadir wayland-protocols`)
>>> ++ AC_SUBST(WAYLAND_PROTOCOLS_DATADIR,
>>> ${PKG_CONFIG_SYSROOT_DIR}`$PKG_CONFIG --variable=pkgdatadir
>>> wayland-protocols`)
>>
>>
>> I believe this breaks multilib because wayland-protocols is allarch so
>> PKG_CONFIG_SYSROOT_DIR may then be incorrect.
>>
>>
>> Realized my last reply is too terse. expanding on it a bit more.
>> this is not really the case. Since PKG_CONFIG_SYSROOT_DIR is set to
>> STAGING_DIR_HOST which is then set to ${STAGING_DIR}/${MACHINE} so
>> effectively its just
>> reusing an existing var compared to your case where a new redundant
>> variable is introduced.
>>
>> having said that, there could be a multilib issue if pkgdatadir thats in
>> .pc file from wayland-protocols package is using variables like ${libdir}
>> which then are
>> multilib dependent, if this is the case then we need to fix .pc file.
>> however when I look at the
>> <target-sysroot>/usr/share/pkgconfig/wayland-protocols.pc it has
>>
>> prefix=/usr
>> datarootdir=${prefix}/share
>> pkgdatadir=/usr/share/wayland-protocols
>>
>> seems to be free of multilib deps.
>>
>
> It's not about the .pc file, the issue is that if you build
> lib32-gstreamer1.0-plugins-bad WAYLAND_PROTOCOLS_DATADIR will end up as (as
> an example)
> $TMPDIR/sysroots/lib32-qemux86-64/usr/share/wayland-protocols/
> but that's not where wayland protocols are. The actual path is
> $TMPDIR/sysroots/qemux86-64/usr/share/wayland-protocols/
>
> Maybe there should be a generic multilib fix for this but I can't figure out
> what it would be...
hmmm is seems to me that 'all' packages should be common between
all syroots, may be symlinks into multilib sysroots for all files could be
a solution, of just staging function for 'all' packages should install it in
both sysroots.
>
> Jussi
>
>
^ permalink raw reply [flat|nested] 7+ messages in thread
end of thread, other threads:[~2016-12-07 19:46 UTC | newest]
Thread overview: 7+ messages (download: mbox.gz follow: Atom feed
-- links below jump to the message on this page --
2016-12-01 8:37 [PATCH] gstreamer1.0-plugins-bad: Add PKG_CONFIG_SYSROOT_DIR to output of pkg-config Khem Raj
2016-12-05 13:20 ` Jussi Kukkonen
2016-12-05 16:46 ` Khem Raj
2016-12-05 19:08 ` Khem Raj
2016-12-06 17:18 ` Burton, Ross
2016-12-07 12:25 ` Jussi Kukkonen
2016-12-07 19:46 ` Khem Raj
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox