* [PATCHv2] systemd: use AC_CHECK_TOOL instead of AC_PATH_TOOL when checking objcopy, strings, gperf
2013-04-16 21:28 ` Richard Purdie
@ 2013-04-16 22:01 ` Martin Jansa
2013-04-16 22:10 ` Martin Jansa
2013-04-16 22:10 ` [PATCHv3] " Martin Jansa
2013-04-17 0:59 ` [PATCH] " Khem Raj
2 siblings, 1 reply; 9+ messages in thread
From: Martin Jansa @ 2013-04-16 22:01 UTC (permalink / raw)
To: openembedded-core
* with external toolchain I have different HOST_PREFIX and HOST_SYS
AC_PATH_TOOL is using HOST_SYS as prefix and fails to find objcopy
then it tries objcopy without prefix which is found on host, but
that objcopy does not work for arm libs
* with internal toolchain gperf is not prefixed with HOST_PREFIX, but
fallback to "gperf" only finds the one in native sysroot first
* based on http://lists.linuxtogo.org/pipermail/openembedded-core/2013-April/037985.html
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
...se-AC_CHECK_TOOL-for-objcopy-strings-and-.patch | 41 ++++++++++++++++++++++
meta/recipes-core/systemd/systemd_199.bb | 6 +++-
2 files changed, 46 insertions(+), 1 deletion(-)
create mode 100644 meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch
diff --git a/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch b/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch
new file mode 100644
index 0000000..d847bbc
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch
@@ -0,0 +1,41 @@
+From d6f92bcbbae9a577adb9588c7b2783a5d0bf343d Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Tue, 16 Apr 2013 14:20:41 +0200
+Subject: [PATCH] configure: use AC_CHECK_TOOL for objcopy, strings and gperf
+
+* using AC_PATH_TOOL does not allow to override it from shell environment
+ which is useful when cross-compiling
+* with external toolchain I have different HOST_PREFIX and HOST_SYS
+ AC_PATH_TOOL is using HOST_SYS as prefix and fails to find objcopy
+ which is available only as ${TARGET_PREFIX}objcopy then it tries
+ objcopy without prefix which is found on host, but that objcopy
+ does not work for !host (e.g. arm when building on x86) libs
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Upstream-Status: Submitted
+http://lists.freedesktop.org/archives/systemd-devel/2013-April/010468.html
+
+---
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 33b0ca9..519f1a9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -86,9 +86,9 @@ GOBJECT_INTROSPECTION_CHECK([1.31.1])
+ AM_CONDITIONAL([HAVE_INTROSPECTION], [false])
+ enable_introspection=no])
+
+-AC_PATH_TOOL(OBJCOPY, objcopy)
+-AC_PATH_TOOL(STRINGS, strings)
+-AC_PATH_TOOL(GPERF, gperf)
++AC_CHECK_TOOL(OBJCOPY, objcopy)
++AC_CHECK_TOOL(STRINGS, strings)
++AC_CHECK_TOOL(GPERF, gperf)
+ if test -z "$GPERF" ; then
+ AC_MSG_ERROR([*** gperf not found])
+ fi
+--
+1.8.1.5
+
diff --git a/meta/recipes-core/systemd/systemd_199.bb b/meta/recipes-core/systemd/systemd_199.bb
index d22df12..bbe19ea 100644
--- a/meta/recipes-core/systemd/systemd_199.bb
+++ b/meta/recipes-core/systemd/systemd_199.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
PROVIDES = "udev"
PE = "1"
-PR = "r2"
+PR = "r3"
DEPENDS = "kmod docbook-sgml-dtd-4.1-native intltool-native gperf-native acl readline dbus libcap libcgroup tcp-wrappers glib-2.0"
DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
@@ -27,6 +27,7 @@ SRC_URI = "http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz \
file://0002-readahead-chunk-on-spinning-media.patch \
file://0003-readahead-cleanups.patch \
file://0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch \
+ file://0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch \
file://199-firmware.patch \
file://init \
"
@@ -77,6 +78,9 @@ EXTRA_OECONF_append_libc-uclibc = " --disable-myhostname "
do_configure_prepend() {
export CPP="${HOST_PREFIX}cpp ${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}"
+ export STRINGS = "${HOST_PREFIX}strings"
+ export GPERF = "${HOST_PREFIX}gperf"
+
sed -i -e 's:=/root:=${ROOT_HOME}:g' units/*.service*
}
--
1.8.1.5
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [PATCHv2] systemd: use AC_CHECK_TOOL instead of AC_PATH_TOOL when checking objcopy, strings, gperf
2013-04-16 22:01 ` [PATCHv2] " Martin Jansa
@ 2013-04-16 22:10 ` Martin Jansa
0 siblings, 0 replies; 9+ messages in thread
From: Martin Jansa @ 2013-04-16 22:10 UTC (permalink / raw)
To: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 4591 bytes --]
On Wed, Apr 17, 2013 at 12:01:44AM +0200, Martin Jansa wrote:
> * with external toolchain I have different HOST_PREFIX and HOST_SYS
> AC_PATH_TOOL is using HOST_SYS as prefix and fails to find objcopy
> then it tries objcopy without prefix which is found on host, but
> that objcopy does not work for arm libs
> * with internal toolchain gperf is not prefixed with HOST_PREFIX, but
> fallback to "gperf" only finds the one in native sysroot first
> * based on http://lists.linuxtogo.org/pipermail/openembedded-core/2013-April/037985.html
>
> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> ---
> ...se-AC_CHECK_TOOL-for-objcopy-strings-and-.patch | 41 ++++++++++++++++++++++
> meta/recipes-core/systemd/systemd_199.bb | 6 +++-
> 2 files changed, 46 insertions(+), 1 deletion(-)
> create mode 100644 meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch
>
> diff --git a/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch b/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch
> new file mode 100644
> index 0000000..d847bbc
> --- /dev/null
> +++ b/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch
> @@ -0,0 +1,41 @@
> +From d6f92bcbbae9a577adb9588c7b2783a5d0bf343d Mon Sep 17 00:00:00 2001
> +From: Martin Jansa <Martin.Jansa@gmail.com>
> +Date: Tue, 16 Apr 2013 14:20:41 +0200
> +Subject: [PATCH] configure: use AC_CHECK_TOOL for objcopy, strings and gperf
> +
> +* using AC_PATH_TOOL does not allow to override it from shell environment
> + which is useful when cross-compiling
> +* with external toolchain I have different HOST_PREFIX and HOST_SYS
> + AC_PATH_TOOL is using HOST_SYS as prefix and fails to find objcopy
> + which is available only as ${TARGET_PREFIX}objcopy then it tries
> + objcopy without prefix which is found on host, but that objcopy
> + does not work for !host (e.g. arm when building on x86) libs
> +
> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> +Upstream-Status: Submitted
> +http://lists.freedesktop.org/archives/systemd-devel/2013-April/010468.html
> +
> +---
> + configure.ac | 6 +++---
> + 1 file changed, 3 insertions(+), 3 deletions(-)
> +
> +diff --git a/configure.ac b/configure.ac
> +index 33b0ca9..519f1a9 100644
> +--- a/configure.ac
> ++++ b/configure.ac
> +@@ -86,9 +86,9 @@ GOBJECT_INTROSPECTION_CHECK([1.31.1])
> + AM_CONDITIONAL([HAVE_INTROSPECTION], [false])
> + enable_introspection=no])
> +
> +-AC_PATH_TOOL(OBJCOPY, objcopy)
> +-AC_PATH_TOOL(STRINGS, strings)
> +-AC_PATH_TOOL(GPERF, gperf)
> ++AC_CHECK_TOOL(OBJCOPY, objcopy)
> ++AC_CHECK_TOOL(STRINGS, strings)
> ++AC_CHECK_TOOL(GPERF, gperf)
> + if test -z "$GPERF" ; then
> + AC_MSG_ERROR([*** gperf not found])
> + fi
> +--
> +1.8.1.5
> +
> diff --git a/meta/recipes-core/systemd/systemd_199.bb b/meta/recipes-core/systemd/systemd_199.bb
> index d22df12..bbe19ea 100644
> --- a/meta/recipes-core/systemd/systemd_199.bb
> +++ b/meta/recipes-core/systemd/systemd_199.bb
> @@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
> PROVIDES = "udev"
>
> PE = "1"
> -PR = "r2"
> +PR = "r3"
>
> DEPENDS = "kmod docbook-sgml-dtd-4.1-native intltool-native gperf-native acl readline dbus libcap libcgroup tcp-wrappers glib-2.0"
> DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
> @@ -27,6 +27,7 @@ SRC_URI = "http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz \
> file://0002-readahead-chunk-on-spinning-media.patch \
> file://0003-readahead-cleanups.patch \
> file://0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch \
> + file://0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch \
> file://199-firmware.patch \
> file://init \
> "
> @@ -77,6 +78,9 @@ EXTRA_OECONF_append_libc-uclibc = " --disable-myhostname "
> do_configure_prepend() {
> export CPP="${HOST_PREFIX}cpp ${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}"
>
> + export STRINGS = "${HOST_PREFIX}strings"
> + export GPERF = "${HOST_PREFIX}gperf"
Ignore this one, extra spaces are ok for bitbake.conf but I should
remove them again here.
> +
> sed -i -e 's:=/root:=${ROOT_HOME}:g' units/*.service*
> }
>
> --
> 1.8.1.5
>
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread
* [PATCHv3] systemd: use AC_CHECK_TOOL instead of AC_PATH_TOOL when checking objcopy, strings, gperf
2013-04-16 21:28 ` Richard Purdie
2013-04-16 22:01 ` [PATCHv2] " Martin Jansa
@ 2013-04-16 22:10 ` Martin Jansa
2013-04-17 0:59 ` [PATCH] " Khem Raj
2 siblings, 0 replies; 9+ messages in thread
From: Martin Jansa @ 2013-04-16 22:10 UTC (permalink / raw)
To: openembedded-core
* with external toolchain I have different HOST_PREFIX and HOST_SYS
AC_PATH_TOOL is using HOST_SYS as prefix and fails to find objcopy
then it tries objcopy without prefix which is found on host, but
that objcopy does not work for arm libs
* with internal toolchain gperf is not prefixed with HOST_PREFIX, but
fallback to "gperf" only finds the one in native sysroot first
* based on http://lists.linuxtogo.org/pipermail/openembedded-core/2013-April/037985.html
Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
---
...se-AC_CHECK_TOOL-for-objcopy-strings-and-.patch | 41 ++++++++++++++++++++++
meta/recipes-core/systemd/systemd_199.bb | 6 +++-
2 files changed, 46 insertions(+), 1 deletion(-)
create mode 100644 meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch
diff --git a/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch b/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch
new file mode 100644
index 0000000..d847bbc
--- /dev/null
+++ b/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch
@@ -0,0 +1,41 @@
+From d6f92bcbbae9a577adb9588c7b2783a5d0bf343d Mon Sep 17 00:00:00 2001
+From: Martin Jansa <Martin.Jansa@gmail.com>
+Date: Tue, 16 Apr 2013 14:20:41 +0200
+Subject: [PATCH] configure: use AC_CHECK_TOOL for objcopy, strings and gperf
+
+* using AC_PATH_TOOL does not allow to override it from shell environment
+ which is useful when cross-compiling
+* with external toolchain I have different HOST_PREFIX and HOST_SYS
+ AC_PATH_TOOL is using HOST_SYS as prefix and fails to find objcopy
+ which is available only as ${TARGET_PREFIX}objcopy then it tries
+ objcopy without prefix which is found on host, but that objcopy
+ does not work for !host (e.g. arm when building on x86) libs
+
+Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
+Upstream-Status: Submitted
+http://lists.freedesktop.org/archives/systemd-devel/2013-April/010468.html
+
+---
+ configure.ac | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/configure.ac b/configure.ac
+index 33b0ca9..519f1a9 100644
+--- a/configure.ac
++++ b/configure.ac
+@@ -86,9 +86,9 @@ GOBJECT_INTROSPECTION_CHECK([1.31.1])
+ AM_CONDITIONAL([HAVE_INTROSPECTION], [false])
+ enable_introspection=no])
+
+-AC_PATH_TOOL(OBJCOPY, objcopy)
+-AC_PATH_TOOL(STRINGS, strings)
+-AC_PATH_TOOL(GPERF, gperf)
++AC_CHECK_TOOL(OBJCOPY, objcopy)
++AC_CHECK_TOOL(STRINGS, strings)
++AC_CHECK_TOOL(GPERF, gperf)
+ if test -z "$GPERF" ; then
+ AC_MSG_ERROR([*** gperf not found])
+ fi
+--
+1.8.1.5
+
diff --git a/meta/recipes-core/systemd/systemd_199.bb b/meta/recipes-core/systemd/systemd_199.bb
index d22df12..dc25179 100644
--- a/meta/recipes-core/systemd/systemd_199.bb
+++ b/meta/recipes-core/systemd/systemd_199.bb
@@ -9,7 +9,7 @@ LIC_FILES_CHKSUM = "file://LICENSE.GPL2;md5=751419260aa954499f7abaabaa882bbe \
PROVIDES = "udev"
PE = "1"
-PR = "r2"
+PR = "r3"
DEPENDS = "kmod docbook-sgml-dtd-4.1-native intltool-native gperf-native acl readline dbus libcap libcgroup tcp-wrappers glib-2.0"
DEPENDS += "${@base_contains('DISTRO_FEATURES', 'pam', 'libpam', '', d)}"
@@ -27,6 +27,7 @@ SRC_URI = "http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz \
file://0002-readahead-chunk-on-spinning-media.patch \
file://0003-readahead-cleanups.patch \
file://0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch \
+ file://0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch \
file://199-firmware.patch \
file://init \
"
@@ -77,6 +78,9 @@ EXTRA_OECONF_append_libc-uclibc = " --disable-myhostname "
do_configure_prepend() {
export CPP="${HOST_PREFIX}cpp ${TOOLCHAIN_OPTIONS} ${HOST_CC_ARCH}"
+ export STRINGS="${HOST_PREFIX}strings"
+ export GPERF="${HOST_PREFIX}gperf"
+
sed -i -e 's:=/root:=${ROOT_HOME}:g' units/*.service*
}
--
1.8.1.5
^ permalink raw reply related [flat|nested] 9+ messages in thread* Re: [PATCH] systemd: use AC_CHECK_TOOL instead of AC_PATH_TOOL when checking objcopy, strings, gperf
2013-04-16 21:28 ` Richard Purdie
2013-04-16 22:01 ` [PATCHv2] " Martin Jansa
2013-04-16 22:10 ` [PATCHv3] " Martin Jansa
@ 2013-04-17 0:59 ` Khem Raj
2013-04-17 9:02 ` Martin Jansa
2 siblings, 1 reply; 9+ messages in thread
From: Khem Raj @ 2013-04-17 0:59 UTC (permalink / raw)
To: Richard Purdie; +Cc: Martin Jansa, openembedded-core
On Apr 16, 2013, at 2:28 PM, Richard Purdie <richard.purdie@linuxfoundation.org> wrote:
> On Tue, 2013-04-16 at 14:30 +0200, Martin Jansa wrote:
>> * with external toolchain I have different HOST_PREFIX and HOST_SYS
>> AC_PATH_TOOL is using HOST_SYS as prefix and fails to find objcopy
>> then it tries objcopy without prefix which is found on host, but
>> that objcopy does not work for arm libs
>> * with internal toolchain gperf is not prefixed with HOST_PREFIX, but
>> fallback to "gperf" only finds the one in native sysroot first
>> * based on http://lists.linuxtogo.org/pipermail/openembedded-core/2013-April/037985.html
>> Khem suggested to export strings and gperf from bitbake.conf instead
>>
>> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
>> ---
>> meta/conf/bitbake.conf | 2 ++
>> ...se-AC_CHECK_TOOL-for-objcopy-strings-and-.patch | 41 ++++++++++++++++++++++
>> meta/recipes-core/systemd/systemd_199.bb | 1 +
>> 3 files changed, 44 insertions(+)
>> create mode 100644 meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch
>>
>> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
>> index cd5d61e..a84ae38 100644
>> --- a/meta/conf/bitbake.conf
>> +++ b/meta/conf/bitbake.conf
>> @@ -455,6 +455,8 @@ export RANLIB = "${HOST_PREFIX}ranlib"
>> export STRIP = "${HOST_PREFIX}strip"
>> export OBJCOPY = "${HOST_PREFIX}objcopy"
>> export OBJDUMP = "${HOST_PREFIX}objdump"
>> +export STRINGS = "${HOST_PREFIX}strings"
>> +export GPERF = "${HOST_PREFIX}gperf"
>> export NM = "${HOST_PREFIX}nm"
>> PYTHON = "${@sys.executable}"
>
> At this point in the release cycle I'm not adding new global exports to
> ever piece of software in the system. I appreciate in theory nothing bad
> should happen however the reality is sometimes different :/. I'm taking
> a *lot* of risks in including as many changes as I have, I don't want to
> add this one too.
>
> I'm also not sure its a good idea in general to build up more exports in
> bitbake.conf if we haven't yet needed them.
>
We can not be certain we did not need them autoconfed packages will default to one on host
so it might be that many recipes have been wrongly using non-cross version of tools and succeeding
the build. Problem is there in though.
I think on master this patch should be considered as such
> I'll take a version of this which does this in the systemd recipe.
For dylan this seems ok
>
> Cheers,
>
> Richard
>
>> diff --git a/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch b/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch
>> new file mode 100644
>> index 0000000..d847bbc
>> --- /dev/null
>> +++ b/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch
>> @@ -0,0 +1,41 @@
>> +From d6f92bcbbae9a577adb9588c7b2783a5d0bf343d Mon Sep 17 00:00:00 2001
>> +From: Martin Jansa <Martin.Jansa@gmail.com>
>> +Date: Tue, 16 Apr 2013 14:20:41 +0200
>> +Subject: [PATCH] configure: use AC_CHECK_TOOL for objcopy, strings and gperf
>> +
>> +* using AC_PATH_TOOL does not allow to override it from shell environment
>> + which is useful when cross-compiling
>> +* with external toolchain I have different HOST_PREFIX and HOST_SYS
>> + AC_PATH_TOOL is using HOST_SYS as prefix and fails to find objcopy
>> + which is available only as ${TARGET_PREFIX}objcopy then it tries
>> + objcopy without prefix which is found on host, but that objcopy
>> + does not work for !host (e.g. arm when building on x86) libs
>> +
>> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
>> +Upstream-Status: Submitted
>> +http://lists.freedesktop.org/archives/systemd-devel/2013-April/010468.html
>> +
>> +---
>> + configure.ac | 6 +++---
>> + 1 file changed, 3 insertions(+), 3 deletions(-)
>> +
>> +diff --git a/configure.ac b/configure.ac
>> +index 33b0ca9..519f1a9 100644
>> +--- a/configure.ac
>> ++++ b/configure.ac
>> +@@ -86,9 +86,9 @@ GOBJECT_INTROSPECTION_CHECK([1.31.1])
>> + AM_CONDITIONAL([HAVE_INTROSPECTION], [false])
>> + enable_introspection=no])
>> +
>> +-AC_PATH_TOOL(OBJCOPY, objcopy)
>> +-AC_PATH_TOOL(STRINGS, strings)
>> +-AC_PATH_TOOL(GPERF, gperf)
>> ++AC_CHECK_TOOL(OBJCOPY, objcopy)
>> ++AC_CHECK_TOOL(STRINGS, strings)
>> ++AC_CHECK_TOOL(GPERF, gperf)
>> + if test -z "$GPERF" ; then
>> + AC_MSG_ERROR([*** gperf not found])
>> + fi
>> +--
>> +1.8.1.5
>> +
>> diff --git a/meta/recipes-core/systemd/systemd_199.bb b/meta/recipes-core/systemd/systemd_199.bb
>> index d22df12..e8ad8f5 100644
>> --- a/meta/recipes-core/systemd/systemd_199.bb
>> +++ b/meta/recipes-core/systemd/systemd_199.bb
>> @@ -27,6 +27,7 @@ SRC_URI = "http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz \
>> file://0002-readahead-chunk-on-spinning-media.patch \
>> file://0003-readahead-cleanups.patch \
>> file://0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch \
>> + file://0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch \
>> file://199-firmware.patch \
>> file://init \
>> "
>
>
>
> _______________________________________________
> Openembedded-core mailing list
> Openembedded-core@lists.openembedded.org
> http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH] systemd: use AC_CHECK_TOOL instead of AC_PATH_TOOL when checking objcopy, strings, gperf
2013-04-17 0:59 ` [PATCH] " Khem Raj
@ 2013-04-17 9:02 ` Martin Jansa
2013-04-18 19:00 ` Martin Jansa
0 siblings, 1 reply; 9+ messages in thread
From: Martin Jansa @ 2013-04-17 9:02 UTC (permalink / raw)
To: Khem Raj; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 6006 bytes --]
On Tue, Apr 16, 2013 at 05:59:53PM -0700, Khem Raj wrote:
>
> On Apr 16, 2013, at 2:28 PM, Richard Purdie <richard.purdie@linuxfoundation.org> wrote:
>
> > On Tue, 2013-04-16 at 14:30 +0200, Martin Jansa wrote:
> >> * with external toolchain I have different HOST_PREFIX and HOST_SYS
> >> AC_PATH_TOOL is using HOST_SYS as prefix and fails to find objcopy
> >> then it tries objcopy without prefix which is found on host, but
> >> that objcopy does not work for arm libs
> >> * with internal toolchain gperf is not prefixed with HOST_PREFIX, but
> >> fallback to "gperf" only finds the one in native sysroot first
> >> * based on http://lists.linuxtogo.org/pipermail/openembedded-core/2013-April/037985.html
> >> Khem suggested to export strings and gperf from bitbake.conf instead
> >>
> >> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> >> ---
> >> meta/conf/bitbake.conf | 2 ++
> >> ...se-AC_CHECK_TOOL-for-objcopy-strings-and-.patch | 41 ++++++++++++++++++++++
> >> meta/recipes-core/systemd/systemd_199.bb | 1 +
> >> 3 files changed, 44 insertions(+)
> >> create mode 100644 meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch
> >>
> >> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> >> index cd5d61e..a84ae38 100644
> >> --- a/meta/conf/bitbake.conf
> >> +++ b/meta/conf/bitbake.conf
> >> @@ -455,6 +455,8 @@ export RANLIB = "${HOST_PREFIX}ranlib"
> >> export STRIP = "${HOST_PREFIX}strip"
> >> export OBJCOPY = "${HOST_PREFIX}objcopy"
> >> export OBJDUMP = "${HOST_PREFIX}objdump"
> >> +export STRINGS = "${HOST_PREFIX}strings"
> >> +export GPERF = "${HOST_PREFIX}gperf"
> >> export NM = "${HOST_PREFIX}nm"
> >> PYTHON = "${@sys.executable}"
> >
> > At this point in the release cycle I'm not adding new global exports to
> > ever piece of software in the system. I appreciate in theory nothing bad
> > should happen however the reality is sometimes different :/. I'm taking
> > a *lot* of risks in including as many changes as I have, I don't want to
> > add this one too.
> >
> > I'm also not sure its a good idea in general to build up more exports in
> > bitbake.conf if we haven't yet needed them.
> >
>
> We can not be certain we did not need them autoconfed packages will default to one on host
> so it might be that many recipes have been wrongly using non-cross version of tools and succeeding
> the build. Problem is there in though.
>
> I think on master this patch should be considered as such
>
> > I'll take a version of this which does this in the systemd recipe.
>
> For dylan this seems ok
I have patch moving exports to bitbake.conf in my local tree, I'll send
it for master after dylan is released.
> >> diff --git a/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch b/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch
> >> new file mode 100644
> >> index 0000000..d847bbc
> >> --- /dev/null
> >> +++ b/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch
> >> @@ -0,0 +1,41 @@
> >> +From d6f92bcbbae9a577adb9588c7b2783a5d0bf343d Mon Sep 17 00:00:00 2001
> >> +From: Martin Jansa <Martin.Jansa@gmail.com>
> >> +Date: Tue, 16 Apr 2013 14:20:41 +0200
> >> +Subject: [PATCH] configure: use AC_CHECK_TOOL for objcopy, strings and gperf
> >> +
> >> +* using AC_PATH_TOOL does not allow to override it from shell environment
> >> + which is useful when cross-compiling
> >> +* with external toolchain I have different HOST_PREFIX and HOST_SYS
> >> + AC_PATH_TOOL is using HOST_SYS as prefix and fails to find objcopy
> >> + which is available only as ${TARGET_PREFIX}objcopy then it tries
> >> + objcopy without prefix which is found on host, but that objcopy
> >> + does not work for !host (e.g. arm when building on x86) libs
> >> +
> >> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> >> +Upstream-Status: Submitted
> >> +http://lists.freedesktop.org/archives/systemd-devel/2013-April/010468.html
> >> +
> >> +---
> >> + configure.ac | 6 +++---
> >> + 1 file changed, 3 insertions(+), 3 deletions(-)
> >> +
> >> +diff --git a/configure.ac b/configure.ac
> >> +index 33b0ca9..519f1a9 100644
> >> +--- a/configure.ac
> >> ++++ b/configure.ac
> >> +@@ -86,9 +86,9 @@ GOBJECT_INTROSPECTION_CHECK([1.31.1])
> >> + AM_CONDITIONAL([HAVE_INTROSPECTION], [false])
> >> + enable_introspection=no])
> >> +
> >> +-AC_PATH_TOOL(OBJCOPY, objcopy)
> >> +-AC_PATH_TOOL(STRINGS, strings)
> >> +-AC_PATH_TOOL(GPERF, gperf)
> >> ++AC_CHECK_TOOL(OBJCOPY, objcopy)
> >> ++AC_CHECK_TOOL(STRINGS, strings)
> >> ++AC_CHECK_TOOL(GPERF, gperf)
> >> + if test -z "$GPERF" ; then
> >> + AC_MSG_ERROR([*** gperf not found])
> >> + fi
> >> +--
> >> +1.8.1.5
> >> +
> >> diff --git a/meta/recipes-core/systemd/systemd_199.bb b/meta/recipes-core/systemd/systemd_199.bb
> >> index d22df12..e8ad8f5 100644
> >> --- a/meta/recipes-core/systemd/systemd_199.bb
> >> +++ b/meta/recipes-core/systemd/systemd_199.bb
> >> @@ -27,6 +27,7 @@ SRC_URI = "http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz \
> >> file://0002-readahead-chunk-on-spinning-media.patch \
> >> file://0003-readahead-cleanups.patch \
> >> file://0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch \
> >> + file://0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch \
> >> file://199-firmware.patch \
> >> file://init \
> >> "
> >
> >
> >
> > _______________________________________________
> > Openembedded-core mailing list
> > Openembedded-core@lists.openembedded.org
> > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
>
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH] systemd: use AC_CHECK_TOOL instead of AC_PATH_TOOL when checking objcopy, strings, gperf
2013-04-17 9:02 ` Martin Jansa
@ 2013-04-18 19:00 ` Martin Jansa
2013-04-18 23:13 ` Martin Jansa
0 siblings, 1 reply; 9+ messages in thread
From: Martin Jansa @ 2013-04-18 19:00 UTC (permalink / raw)
To: Khem Raj; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 7548 bytes --]
On Wed, Apr 17, 2013 at 11:02:15AM +0200, Martin Jansa wrote:
> On Tue, Apr 16, 2013 at 05:59:53PM -0700, Khem Raj wrote:
> >
> > On Apr 16, 2013, at 2:28 PM, Richard Purdie <richard.purdie@linuxfoundation.org> wrote:
> >
> > > On Tue, 2013-04-16 at 14:30 +0200, Martin Jansa wrote:
> > >> * with external toolchain I have different HOST_PREFIX and HOST_SYS
> > >> AC_PATH_TOOL is using HOST_SYS as prefix and fails to find objcopy
> > >> then it tries objcopy without prefix which is found on host, but
> > >> that objcopy does not work for arm libs
> > >> * with internal toolchain gperf is not prefixed with HOST_PREFIX, but
> > >> fallback to "gperf" only finds the one in native sysroot first
> > >> * based on http://lists.linuxtogo.org/pipermail/openembedded-core/2013-April/037985.html
> > >> Khem suggested to export strings and gperf from bitbake.conf instead
> > >>
> > >> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> > >> ---
> > >> meta/conf/bitbake.conf | 2 ++
> > >> ...se-AC_CHECK_TOOL-for-objcopy-strings-and-.patch | 41 ++++++++++++++++++++++
> > >> meta/recipes-core/systemd/systemd_199.bb | 1 +
> > >> 3 files changed, 44 insertions(+)
> > >> create mode 100644 meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch
> > >>
> > >> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> > >> index cd5d61e..a84ae38 100644
> > >> --- a/meta/conf/bitbake.conf
> > >> +++ b/meta/conf/bitbake.conf
> > >> @@ -455,6 +455,8 @@ export RANLIB = "${HOST_PREFIX}ranlib"
> > >> export STRIP = "${HOST_PREFIX}strip"
> > >> export OBJCOPY = "${HOST_PREFIX}objcopy"
> > >> export OBJDUMP = "${HOST_PREFIX}objdump"
> > >> +export STRINGS = "${HOST_PREFIX}strings"
> > >> +export GPERF = "${HOST_PREFIX}gperf"
> > >> export NM = "${HOST_PREFIX}nm"
> > >> PYTHON = "${@sys.executable}"
> > >
> > > At this point in the release cycle I'm not adding new global exports to
> > > ever piece of software in the system. I appreciate in theory nothing bad
> > > should happen however the reality is sometimes different :/. I'm taking
> > > a *lot* of risks in including as many changes as I have, I don't want to
> > > add this one too.
> > >
> > > I'm also not sure its a good idea in general to build up more exports in
> > > bitbake.conf if we haven't yet needed them.
> > >
> >
> > We can not be certain we did not need them autoconfed packages will default to one on host
> > so it might be that many recipes have been wrongly using non-cross version of tools and succeeding
> > the build. Problem is there in though.
> >
> > I think on master this patch should be considered as such
> >
> > > I'll take a version of this which does this in the systemd recipe.
> >
> > For dylan this seems ok
>
> I have patch moving exports to bitbake.conf in my local tree, I'll send
> it for master after dylan is released.
It was good call to keep it local for systemd in dylan
x86_64-oe-linux-gperf: No such file or directory
in webkit-efl and kconfig-frontends
| sh: 1: x86_64-oe-linux-gperf: not found
| calling gperf failed: 32512 at /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/x86_64-oe-linux/webkit-efl/1.9.3+svnr120144-r2/src/Source/WebCore/make-hash-tools.pl line 36.
x86_64-oe-linux-strings: No such file or directory
in tcp-wrappers, interestingly in gcc call:
| x86_64-oe-linux-gcc -m64
--sysroot=/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemux86-64
-DFACILITY=LOG_DAEMON -DHOSTS_ACCESS -DNETGROUP -DUSE_GETDOMAIN
-DDAEMON_UMASK=022 -DREAL_DAEMON_DIR=\"/usr/sbin\" -DPROCESS_OPTIONS
-DKILL_IP_OPTIONS -DSEVERITY=LOG_INFO -DRFC931_TIMEOUT=10
-DHOSTS_DENY=\"/etc/hosts.deny\" -DHOSTS_ALLOW=\"/etc/hosts.allow\"
x86_64-oe-linux-strings -O2 -pipe -g -feliminate-unused-debug-types
-DSYS_ERRLIST_DEFINED -DHAVE_STRERROR -DHAVE_WEAKSYMS -D_REENTRANT
-DINET6=1 -Dss_family=__ss_family -Dss_len=__ss_len -o tcpd.o -c
tcpd.c
| x86_64-oe-linux-gcc: error: x86_64-oe-linux-strings: No such file or
directory
> > >> diff --git a/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch b/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch
> > >> new file mode 100644
> > >> index 0000000..d847bbc
> > >> --- /dev/null
> > >> +++ b/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch
> > >> @@ -0,0 +1,41 @@
> > >> +From d6f92bcbbae9a577adb9588c7b2783a5d0bf343d Mon Sep 17 00:00:00 2001
> > >> +From: Martin Jansa <Martin.Jansa@gmail.com>
> > >> +Date: Tue, 16 Apr 2013 14:20:41 +0200
> > >> +Subject: [PATCH] configure: use AC_CHECK_TOOL for objcopy, strings and gperf
> > >> +
> > >> +* using AC_PATH_TOOL does not allow to override it from shell environment
> > >> + which is useful when cross-compiling
> > >> +* with external toolchain I have different HOST_PREFIX and HOST_SYS
> > >> + AC_PATH_TOOL is using HOST_SYS as prefix and fails to find objcopy
> > >> + which is available only as ${TARGET_PREFIX}objcopy then it tries
> > >> + objcopy without prefix which is found on host, but that objcopy
> > >> + does not work for !host (e.g. arm when building on x86) libs
> > >> +
> > >> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> > >> +Upstream-Status: Submitted
> > >> +http://lists.freedesktop.org/archives/systemd-devel/2013-April/010468.html
> > >> +
> > >> +---
> > >> + configure.ac | 6 +++---
> > >> + 1 file changed, 3 insertions(+), 3 deletions(-)
> > >> +
> > >> +diff --git a/configure.ac b/configure.ac
> > >> +index 33b0ca9..519f1a9 100644
> > >> +--- a/configure.ac
> > >> ++++ b/configure.ac
> > >> +@@ -86,9 +86,9 @@ GOBJECT_INTROSPECTION_CHECK([1.31.1])
> > >> + AM_CONDITIONAL([HAVE_INTROSPECTION], [false])
> > >> + enable_introspection=no])
> > >> +
> > >> +-AC_PATH_TOOL(OBJCOPY, objcopy)
> > >> +-AC_PATH_TOOL(STRINGS, strings)
> > >> +-AC_PATH_TOOL(GPERF, gperf)
> > >> ++AC_CHECK_TOOL(OBJCOPY, objcopy)
> > >> ++AC_CHECK_TOOL(STRINGS, strings)
> > >> ++AC_CHECK_TOOL(GPERF, gperf)
> > >> + if test -z "$GPERF" ; then
> > >> + AC_MSG_ERROR([*** gperf not found])
> > >> + fi
> > >> +--
> > >> +1.8.1.5
> > >> +
> > >> diff --git a/meta/recipes-core/systemd/systemd_199.bb b/meta/recipes-core/systemd/systemd_199.bb
> > >> index d22df12..e8ad8f5 100644
> > >> --- a/meta/recipes-core/systemd/systemd_199.bb
> > >> +++ b/meta/recipes-core/systemd/systemd_199.bb
> > >> @@ -27,6 +27,7 @@ SRC_URI = "http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz \
> > >> file://0002-readahead-chunk-on-spinning-media.patch \
> > >> file://0003-readahead-cleanups.patch \
> > >> file://0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch \
> > >> + file://0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch \
> > >> file://199-firmware.patch \
> > >> file://init \
> > >> "
> > >
> > >
> > >
> > > _______________________________________________
> > > Openembedded-core mailing list
> > > Openembedded-core@lists.openembedded.org
> > > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
> >
>
> --
> Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread* Re: [PATCH] systemd: use AC_CHECK_TOOL instead of AC_PATH_TOOL when checking objcopy, strings, gperf
2013-04-18 19:00 ` Martin Jansa
@ 2013-04-18 23:13 ` Martin Jansa
0 siblings, 0 replies; 9+ messages in thread
From: Martin Jansa @ 2013-04-18 23:13 UTC (permalink / raw)
To: Khem Raj; +Cc: openembedded-core
[-- Attachment #1: Type: text/plain, Size: 9430 bytes --]
On Thu, Apr 18, 2013 at 09:00:43PM +0200, Martin Jansa wrote:
> On Wed, Apr 17, 2013 at 11:02:15AM +0200, Martin Jansa wrote:
> > On Tue, Apr 16, 2013 at 05:59:53PM -0700, Khem Raj wrote:
> > >
> > > On Apr 16, 2013, at 2:28 PM, Richard Purdie <richard.purdie@linuxfoundation.org> wrote:
> > >
> > > > On Tue, 2013-04-16 at 14:30 +0200, Martin Jansa wrote:
> > > >> * with external toolchain I have different HOST_PREFIX and HOST_SYS
> > > >> AC_PATH_TOOL is using HOST_SYS as prefix and fails to find objcopy
> > > >> then it tries objcopy without prefix which is found on host, but
> > > >> that objcopy does not work for arm libs
> > > >> * with internal toolchain gperf is not prefixed with HOST_PREFIX, but
> > > >> fallback to "gperf" only finds the one in native sysroot first
> > > >> * based on http://lists.linuxtogo.org/pipermail/openembedded-core/2013-April/037985.html
> > > >> Khem suggested to export strings and gperf from bitbake.conf instead
> > > >>
> > > >> Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> > > >> ---
> > > >> meta/conf/bitbake.conf | 2 ++
> > > >> ...se-AC_CHECK_TOOL-for-objcopy-strings-and-.patch | 41 ++++++++++++++++++++++
> > > >> meta/recipes-core/systemd/systemd_199.bb | 1 +
> > > >> 3 files changed, 44 insertions(+)
> > > >> create mode 100644 meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch
> > > >>
> > > >> diff --git a/meta/conf/bitbake.conf b/meta/conf/bitbake.conf
> > > >> index cd5d61e..a84ae38 100644
> > > >> --- a/meta/conf/bitbake.conf
> > > >> +++ b/meta/conf/bitbake.conf
> > > >> @@ -455,6 +455,8 @@ export RANLIB = "${HOST_PREFIX}ranlib"
> > > >> export STRIP = "${HOST_PREFIX}strip"
> > > >> export OBJCOPY = "${HOST_PREFIX}objcopy"
> > > >> export OBJDUMP = "${HOST_PREFIX}objdump"
> > > >> +export STRINGS = "${HOST_PREFIX}strings"
> > > >> +export GPERF = "${HOST_PREFIX}gperf"
> > > >> export NM = "${HOST_PREFIX}nm"
> > > >> PYTHON = "${@sys.executable}"
> > > >
> > > > At this point in the release cycle I'm not adding new global exports to
> > > > ever piece of software in the system. I appreciate in theory nothing bad
> > > > should happen however the reality is sometimes different :/. I'm taking
> > > > a *lot* of risks in including as many changes as I have, I don't want to
> > > > add this one too.
> > > >
> > > > I'm also not sure its a good idea in general to build up more exports in
> > > > bitbake.conf if we haven't yet needed them.
> > > >
> > >
> > > We can not be certain we did not need them autoconfed packages will default to one on host
> > > so it might be that many recipes have been wrongly using non-cross version of tools and succeeding
> > > the build. Problem is there in though.
> > >
> > > I think on master this patch should be considered as such
> > >
> > > > I'll take a version of this which does this in the systemd recipe.
> > >
> > > For dylan this seems ok
> >
> > I have patch moving exports to bitbake.conf in my local tree, I'll send
> > it for master after dylan is released.
>
> It was good call to keep it local for systemd in dylan
>
> x86_64-oe-linux-gperf: No such file or directory
> in webkit-efl and kconfig-frontends
> | sh: 1: x86_64-oe-linux-gperf: not found
> | calling gperf failed: 32512 at /home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/work/x86_64-oe-linux/webkit-efl/1.9.3+svnr120144-r2/src/Source/WebCore/make-hash-tools.pl line 36.
>
> x86_64-oe-linux-strings: No such file or directory
> in tcp-wrappers, interestingly in gcc call:
>
> | x86_64-oe-linux-gcc -m64
> --sysroot=/home/jenkins/oe/shr-core-branches/shr-core/tmp-eglibc/sysroots/qemux86-64
> -DFACILITY=LOG_DAEMON -DHOSTS_ACCESS -DNETGROUP -DUSE_GETDOMAIN
> -DDAEMON_UMASK=022 -DREAL_DAEMON_DIR=\"/usr/sbin\" -DPROCESS_OPTIONS
> -DKILL_IP_OPTIONS -DSEVERITY=LOG_INFO -DRFC931_TIMEOUT=10
> -DHOSTS_DENY=\"/etc/hosts.deny\" -DHOSTS_ALLOW=\"/etc/hosts.allow\"
> x86_64-oe-linux-strings -O2 -pipe -g -feliminate-unused-debug-types
> -DSYS_ERRLIST_DEFINED -DHAVE_STRERROR -DHAVE_WEAKSYMS -D_REENTRANT
> -DINET6=1 -Dss_family=__ss_family -Dss_len=__ss_len -o tcpd.o -c
> tcpd.c
> | x86_64-oe-linux-gcc: error: x86_64-oe-linux-strings: No such file or
> directory
I have fix for tcp-wrappers (oe-core-contrib/jansa/gperf), but gperf looks
a bit more complicated and maybe not right to export it with ${HOST_PREFIX}
In that external-toolchain I have it's indeed prefixed with
${HOST_PREFIX} and that change in systemd's configure.ac allows to find
it. When I was testing it with internal toolchain, I've seen that in
systemd/config.log I also have
configure:18082: checking for gperf
configure:18100: found /OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/bin/gperf
configure:18112: result: /OE/shr-core/tmp-eglibc/sysroots/x86_64-linux/usr/bin/gperf
-> so it works correctly for unprefixed gperf (internal toolchain) too.
But now the same fix for kconfig-frontends wasn't working and I've found
that systemd checks for gperf twice
AC_CHECK_TOOL(GPERF, gperf)
if test -z "$GPERF" ; then
AC_MSG_ERROR([*** gperf not found])
fi
and a bit later
AS_IF([test "x$enable_keymap" = "xyes"], [
AC_PATH_PROG([GPERF], [gperf])
if test -z "$GPERF"; then
AC_MSG_ERROR([gperf is needed])
fi
And this 2nd check is what allows it to find unprefixed gperf.
So one way is to export unprefixed gperf (or not export at all from
bitbake.conf) and let external-toolchain.inc to export it if it provides
prefixed gperf or fix kconfig-frontends and webkit-efl to check for
exported and then fallback to checking gperf without prefix.
Cheers,
> > > >> diff --git a/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch b/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch
> > > >> new file mode 100644
> > > >> index 0000000..d847bbc
> > > >> --- /dev/null
> > > >> +++ b/meta/recipes-core/systemd/systemd/0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch
> > > >> @@ -0,0 +1,41 @@
> > > >> +From d6f92bcbbae9a577adb9588c7b2783a5d0bf343d Mon Sep 17 00:00:00 2001
> > > >> +From: Martin Jansa <Martin.Jansa@gmail.com>
> > > >> +Date: Tue, 16 Apr 2013 14:20:41 +0200
> > > >> +Subject: [PATCH] configure: use AC_CHECK_TOOL for objcopy, strings and gperf
> > > >> +
> > > >> +* using AC_PATH_TOOL does not allow to override it from shell environment
> > > >> + which is useful when cross-compiling
> > > >> +* with external toolchain I have different HOST_PREFIX and HOST_SYS
> > > >> + AC_PATH_TOOL is using HOST_SYS as prefix and fails to find objcopy
> > > >> + which is available only as ${TARGET_PREFIX}objcopy then it tries
> > > >> + objcopy without prefix which is found on host, but that objcopy
> > > >> + does not work for !host (e.g. arm when building on x86) libs
> > > >> +
> > > >> +Signed-off-by: Martin Jansa <Martin.Jansa@gmail.com>
> > > >> +Upstream-Status: Submitted
> > > >> +http://lists.freedesktop.org/archives/systemd-devel/2013-April/010468.html
> > > >> +
> > > >> +---
> > > >> + configure.ac | 6 +++---
> > > >> + 1 file changed, 3 insertions(+), 3 deletions(-)
> > > >> +
> > > >> +diff --git a/configure.ac b/configure.ac
> > > >> +index 33b0ca9..519f1a9 100644
> > > >> +--- a/configure.ac
> > > >> ++++ b/configure.ac
> > > >> +@@ -86,9 +86,9 @@ GOBJECT_INTROSPECTION_CHECK([1.31.1])
> > > >> + AM_CONDITIONAL([HAVE_INTROSPECTION], [false])
> > > >> + enable_introspection=no])
> > > >> +
> > > >> +-AC_PATH_TOOL(OBJCOPY, objcopy)
> > > >> +-AC_PATH_TOOL(STRINGS, strings)
> > > >> +-AC_PATH_TOOL(GPERF, gperf)
> > > >> ++AC_CHECK_TOOL(OBJCOPY, objcopy)
> > > >> ++AC_CHECK_TOOL(STRINGS, strings)
> > > >> ++AC_CHECK_TOOL(GPERF, gperf)
> > > >> + if test -z "$GPERF" ; then
> > > >> + AC_MSG_ERROR([*** gperf not found])
> > > >> + fi
> > > >> +--
> > > >> +1.8.1.5
> > > >> +
> > > >> diff --git a/meta/recipes-core/systemd/systemd_199.bb b/meta/recipes-core/systemd/systemd_199.bb
> > > >> index d22df12..e8ad8f5 100644
> > > >> --- a/meta/recipes-core/systemd/systemd_199.bb
> > > >> +++ b/meta/recipes-core/systemd/systemd_199.bb
> > > >> @@ -27,6 +27,7 @@ SRC_URI = "http://www.freedesktop.org/software/systemd/systemd-${PV}.tar.xz \
> > > >> file://0002-readahead-chunk-on-spinning-media.patch \
> > > >> file://0003-readahead-cleanups.patch \
> > > >> file://0013-systemd-sysctl-Handle-missing-etc-sysctl.conf-proper.patch \
> > > >> + file://0001-configure-use-AC_CHECK_TOOL-for-objcopy-strings-and-.patch \
> > > >> file://199-firmware.patch \
> > > >> file://init \
> > > >> "
> > > >
> > > >
> > > >
> > > > _______________________________________________
> > > > Openembedded-core mailing list
> > > > Openembedded-core@lists.openembedded.org
> > > > http://lists.linuxtogo.org/cgi-bin/mailman/listinfo/openembedded-core
> > >
> >
> > --
> > Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
>
>
>
> --
> Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
--
Martin 'JaMa' Jansa jabber: Martin.Jansa@gmail.com
[-- Attachment #2: Digital signature --]
[-- Type: application/pgp-signature, Size: 205 bytes --]
^ permalink raw reply [flat|nested] 9+ messages in thread