Patchwork [v2] python-m2crypto: special setting for x86-64 architecture

login
register
mail settings
Submitter Lukas Bulwahn
Date Feb. 12, 2014, 7:46 p.m.
Message ID <1392234367-1895-1-git-send-email-lukas.bulwahn@oss.bmw-carit.de>
Download mbox | patch
Permalink /patch/66659/
State Accepted, archived
Headers show

Comments

Lukas Bulwahn - Feb. 12, 2014, 7:46 p.m.
After python-m2crypto was reported as failed task in bitbake world
on 2014-02-08 by Martin Jansa, I investigated python-m2crypto with
MACHINE = "qemux86-64" setting. When compiling python-m2crypto for
qemux86-64, the setup.py aborts in the swig call with:

  | swig -python -I[...]/tmp-eglibc/sysroots/qemux86-64/usr/include/python2.7 -I[...]/tmp-eglibc/sysroots/qemux86-64/usr/include -includeall -o SWIG/_m2crypto_wrap.c SWIG/_m2crypto.i
  | [...]/tmp-eglibc/sysroots/qemux86-64/usr/include/openssl/opensslconf.h:41: Error: Unable to find 'openssl/opensslconf-32.h'
  | error: command 'swig' failed with exit status 1
  | ERROR: python setup.py build_ext execution failed.
  | WARNING: exit code 1 from a shell command.

To compile for x86-64 architecture, opensslconf.h shall include
opensslconf-64.h, not opensslconf-32.h. Properly including
opensslconf-64.h can be configured through the bits/wordsize.h
header and setting the __x86_64__ directive in the swig call. To
set the directive, the SWIG_FEATURES variable for x86-64 is
set and exported in the recipe.

Compiling python-m2crypto for qemumips still fails and needs
further adjustments, but is not addressed here.

This patch follows Khem Raj's suggestion on the openembedded-devel
mailing list after submission of the first commit to this issue.

Signed-off-by: Lukas Bulwahn <lukas.bulwahn@oss.bmw-carit.de>
---
 meta-oe/recipes-devtools/python/python-m2crypto_0.21.1.bb | 4 ++++
 1 file changed, 4 insertions(+)

Patch

diff --git a/meta-oe/recipes-devtools/python/python-m2crypto_0.21.1.bb b/meta-oe/recipes-devtools/python/python-m2crypto_0.21.1.bb
index 9babc04..c88b935 100644
--- a/meta-oe/recipes-devtools/python/python-m2crypto_0.21.1.bb
+++ b/meta-oe/recipes-devtools/python/python-m2crypto_0.21.1.bb
@@ -16,4 +16,8 @@  S = "${WORKDIR}/M2Crypto-${PV}"
 
 inherit setuptools
 
+SWIG_FEATURES_x86-64 = "-D__x86_64__"
+SWIG_FEATURES ?= ""
+export SWIG_FEATURES
+
 BBCLASSEXTEND = "native"