[OE-core] [PATCH 3/3] apr: fix cross compiling failed
Hongxu Jia
hongxu.jia at windriver.com
Wed Jun 4 03:27:27 UTC 2014
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
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"
--
1.8.1.2
More information about the Openembedded-core
mailing list