[OE-core] [PATCH 3/3] apr: fix cross compiling failed

Saul Wold saul.wold at intel.com
Wed Jun 4 05:49:14 UTC 2014


On 06/03/2014 08:27 PM, Hongxu Jia wrote:
> The do_compile failed:
> | tools/gen_test_char > include/private/apr_escape_test_char.h
> | /bin/sh: tools/gen_test_char: No such file or directory
> | make[1]: *** [include/private/apr_escape_test_char.h] Error 127
>
> The tools/gen_test_char was invoked at build time, and it didn't
> work for the cross compiling, so we built it with $BUILD_CC.
>
> To make sure there was no side effect on the change, not adding this
> patch, I did the test:
>
> 1. Built the native tools/gen_test_char on x86-64 host, and invoke
>     it on that host;
>
> 2. Built the target tools/gen_test_char which arch was arm, and invoke
>     it on the qemuarm;
>
> 3. Comparing the results, they were total the same;
> ...
> /* this file is automatically generated by gen_test_char, do not edit. "make include/private/apr_escape_test_char.h" to regenerate. */
>
> static const unsigned char test_char_table[256] = {
>      32,30,30,30,30,30,30,30,30,30,31,30,30,30,30,30,30,30,30,30,
>      30,30,30,30,30,30,30,30,30,30,30,30,6,16,63,22,17,22,49,17,
>      17,17,1,16,16,0,0,18,0,0,0,0,0,0,0,0,0,0,16,23,
>      55,16,55,23,16,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
>      0,0,0,0,0,0,0,0,0,0,0,23,31,23,23,0,23,0,0,0,
>      0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,
>      0,0,0,23,23,23,17,30,30,30,30,30,30,30,30,30,30,30,30,30,
>      30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,
>      30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,
>      30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,
>      30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,
>      30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,
>      30,30,30,30,30,30,30,30,30,30,30,30,30,30,30,30
> };
> ...
>
> The do_install failed:
> | DEBUG: Executing shell function do_install
> | NOTE: make -j 16 DESTDIR=tmp/work/x86_64-linux/apr-native/1.5.1-r0/image
>   install
> | tmp/work/x86_64-linux/apr-native/1.5.1-r0/apr-1.5.1/build/mkdir.sh tools
> | gcc  -isystem/home/pokybuild/yocto-autobuilder/yocto-slave/build-appliance/
> build/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe
> tools/gen_test_char.c -o tools/gen_test_char
> | make[1]: Entering directory `tmp/work/x86_64-linux/apr-native/1.5.1-r0/
> apr-1.5.1'
> | tmp/work/x86_64-linux/apr-native/1.5.1-r0/apr-1.5.1/build/mkdir.sh tools
> | gcc  -isystem/home/pokybuild/yocto-autobuilder/yocto-slave/build-appliance/
> build/build/tmp/sysroots/x86_64-linux/usr/include -O2 -pipe
> tools/gen_test_char.c -o tools/gen_test_char
> | tmp/work/x86_64-linux/apr-native/1.5.1-r0/apr-1.5.1/build/mkdir.sh
> include/private
> | tools/gen_test_char > include/private/apr_escape_test_char.h
> | /bin/sh: tools/gen_test_char: Permission denied
>
> Remove the 'tools' dir creation, it always existed. And it caused
> gen_test_char unexpected rebuilt at do_install time.
>
> Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
> ---
>   meta/recipes-support/apr/apr/upgrade-and-fix.patch | 48 ++++++++++++++++++++++
>   meta/recipes-support/apr/apr_1.5.1.bb              |  1 +
>   2 files changed, 49 insertions(+)
>   create mode 100644 meta/recipes-support/apr/apr/upgrade-and-fix.patch
>

Why not combine this with the 1.5.1 update so they are together?

Sau!

> diff --git a/meta/recipes-support/apr/apr/upgrade-and-fix.patch b/meta/recipes-support/apr/apr/upgrade-and-fix.patch
> new file mode 100644
> index 0000000..4bca384
> --- /dev/null
> +++ b/meta/recipes-support/apr/apr/upgrade-and-fix.patch
> @@ -0,0 +1,48 @@
> +Makefile.in: fix cross compiling failed
> +
> +The tools/gen_test_char was invoked at build time,
> +and it didn't work for the cross compiling, so we
> +compile it with $BUILD_CC.
> +
> +Remove the 'tools' dir creation, it always existed.
> +And it caused gen_test_char unexpected rebuilt at
> +do_install time.
> +
> +Upstream-Status: inappropriate [oe specific]
> +
> +Signed-off-by: Hongxu Jia <hongxu.jia at windriver.com>
> +---
> + Makefile.in | 10 ++--------
> + 1 file changed, 2 insertions(+), 8 deletions(-)
> +
> +diff --git a/Makefile.in b/Makefile.in
> +index 6f99733..5fe028f 100644
> +--- a/Makefile.in
> ++++ b/Makefile.in
> +@@ -46,7 +46,6 @@ LT_VERSION = @LT_VERSION@
> +
> + CLEAN_TARGETS = apr-config.out apr.exp exports.c export_vars.c .make.dirs \
> + 	build/apr_rules.out tools/gen_test_char at EXEEXT@ \
> +-	tools/gen_test_char.o tools/gen_test_char.lo \
> + 	include/private/apr_escape_test_char.h
> + DISTCLEAN_TARGETS = config.cache config.log config.status \
> + 	include/apr.h include/arch/unix/apr_private.h \
> +@@ -129,13 +128,8 @@ check: $(TARGET_LIB)
> + etags:
> + 	etags `find . -name '*.[ch]'`
> +
> +-make_tools_dir:
> +-	$(APR_MKDIR) tools
> +-
> +-OBJECTS_gen_test_char = tools/gen_test_char.lo $(LOCAL_LIBS)
> +-tools/gen_test_char.lo: make_tools_dir
> +-tools/gen_test_char at EXEEXT@: $(OBJECTS_gen_test_char)
> +-	$(LINK_PROG) $(OBJECTS_gen_test_char) $(ALL_LIBS)
> ++tools/gen_test_char at EXEEXT@: tools/gen_test_char.c
> ++	$(BUILD_CC) $(CFLAGS_FOR_BUILD) $< -o $@
> +
> + include/private/apr_escape_test_char.h: tools/gen_test_char at EXEEXT@
> + 	$(APR_MKDIR) include/private
> +--
> +1.8.1.2
> +
> diff --git a/meta/recipes-support/apr/apr_1.5.1.bb b/meta/recipes-support/apr/apr_1.5.1.bb
> index 7f2d2ca..8c77af2 100644
> --- a/meta/recipes-support/apr/apr_1.5.1.bb
> +++ b/meta/recipes-support/apr/apr_1.5.1.bb
> @@ -14,6 +14,7 @@ SRC_URI = "${APACHE_MIRROR}/apr/${BPN}-${PV}.tar.bz2 \
>              file://cleanup.patch \
>              file://configfix.patch \
>              file://run-ptest \
> +           file://upgrade-and-fix.patch \
>   "
>
>   SRC_URI[md5sum] = "5486180ec5a23efb5cae6d4292b300ab"
>




More information about the Openembedded-core mailing list