[meta-virtualization] [PATCH] python-gevent: Fix cross compile for ARM

Jason Wessel jason.wessel at windriver.com
Wed Jun 17 07:37:07 PDT 2015


The lack of a proper ability to regenerate configure causes the cross
compile detect logic to fail (shown below).  It is easiest to just
force the cross compile option at configure time.

| configure: error: in `/opt/buildtmp/work/cortexa7t2hf-vfp-neon-wrs-linux-gnueabi/python-gevent/1.0.1-r0/gevent-1.0.1/build/temp.linux-x86_64-2.7/libev':
| configure: error: cannot run C compiled programs.
| If you meant to cross compile, use `--host'.
| See `config.log' for more details
| Running '/bin/sh /opt/buildtmp/work/cortexa7t2hf-vfp-neon-wrs-linux-gnueabi/python-gevent/1.0.1-r0/gevent-1.0.1/libev/configure > configure-output.txt' in /opt/buildtmp/work/cortexa7t2hf-vfp-neon-wrs-linux-gnueabi/python-gevent/1.0.1-r0/gevent-1.0.1/build/temp.linux-x86_64-2.7/libev
| building 'gevent.core' extension
| creating build/temp.linux-x86_64-2.7/gevent
| ccache arm-wrs-linux-gnueabi-gcc -march=armv7-a -mfloat-abi=hard -mfpu=neon -marm -mthumb-interwork -mtune=cortex-a7 --sysroot=/opt/buildtmp/sysroots/fsl-ls10xx -DNDEBUG -g -O3 -Wall -Wstrict-prototypes -O2 -pipe -g -fPIC -DLIBEV_EMBED=1 -DEV_COMMON= -DEV_CLEANUP_ENABLE=0 -DEV_EMBED_ENABLE=0 -DEV_PERIODIC_ENABLE=0 -Ibuild/temp.linux-x86_64-2.7/libev -Ilibev -I/opt/buildtmp/sysroots/fsl-ls10xx/usr/include/python2.7 -c gevent/gevent.core.c -o build/temp.linux-x86_64-2.7/gevent/gevent.core.o
| In file included from gevent/libev.h:2:0,
|                  from gevent/gevent.core.c:313:
| libev/ev.c:45:22: fatal error: config.h: No such file or directory
|  #  include "config.h"
|                       ^
| compilation terminated.

Signed-off-by: Jason Wessel <jason.wessel at windriver.com>
---
 recipes-devtools/python/python-gevent_1.0.1.bb |    7 +++++++
 1 file changed, 7 insertions(+)

diff --git a/recipes-devtools/python/python-gevent_1.0.1.bb b/recipes-devtools/python/python-gevent_1.0.1.bb
index 44f9518..47f1267 100644
--- a/recipes-devtools/python/python-gevent_1.0.1.bb
+++ b/recipes-devtools/python/python-gevent_1.0.1.bb
@@ -24,3 +24,10 @@ inherit setuptools
 FILESEXTRAPATHS_prepend := "${THISDIR}/${PN}:"
 SRC_URI += "file://libev-conf.patch"
 SRC_URI += "file://gevent-allow-ssl-v2-or-v3-certificates.patch"
+
+# The python-gevent has no autoreconf ability
+# and the logic for detecting a cross compile is flawed
+# so always force a cross compile
+do_configure_append() {
+	sed -i -e 's/^cross_compiling=no/cross_compiling=yes/' ${S}/libev/configure
+}
\ No newline at end of file
-- 
1.7.9.5



More information about the meta-virtualization mailing list