[oe-commits] Alejandro Hernandez : python3-io: Fixes compilation of python3 ssl module

git at git.openembedded.org git at git.openembedded.org
Tue Jun 9 16:12:49 UTC 2015


Module: openembedded-core.git
Branch: master-next
Commit: 4cffb16b0edc353d4a3287ca59ba02640f605d2b
URL:    http://git.openembedded.org/?p=openembedded-core.git&a=commit;h=4cffb16b0edc353d4a3287ca59ba02640f605d2b

Author: Alejandro Hernandez <alejandro.hernandez at linux.intel.com>
Date:   Thu May 14 16:43:24 2015 +0000

python3-io: Fixes compilation of python3 ssl module

During python3 compilation, the module ssl was being skippped due to
the fact that the compilation script couldnt find the required files,
this patch fixes setup.py so it looks for the files in the correct
directory, hence fixing its compilation and installation.

[YOCTO #7768]

Signed-off-by: Alejandro Hernandez <alejandro.hernandez at linux.intel.com>

---

 .../python/python3/fix_ssl_include_dir.patch       | 41 ++++++++++++++++++++++
 meta/recipes-devtools/python/python3_3.4.3.bb      |  1 +
 2 files changed, 42 insertions(+)

diff --git a/meta/recipes-devtools/python/python3/fix_ssl_include_dir.patch b/meta/recipes-devtools/python/python3/fix_ssl_include_dir.patch
new file mode 100644
index 0000000..9972829
--- /dev/null
+++ b/meta/recipes-devtools/python/python3/fix_ssl_include_dir.patch
@@ -0,0 +1,41 @@
+Upstream-Status:  Inappropriate [Embedded Specific]
+
+Python 3 fails to compile the ssl module, later, when requesting to install packages that should include such modules
+no error is shown; but a running python shell trying to import the ssl library results in an import error, 
+since it was never installed.
+
+This looks for the modules in the correct directories so they are corretcly compiled and installed along with python3.
+
+ImportError: No module named _ssl
+
+Signed-Off-By: Alejandro Hernandez <alejandro.hernandez at linux.intel.com>
+
+Index: Python-3.4.3/setup.py
+===================================================================
+--- Python-3.4.3.orig/setup.py
++++ Python-3.4.3/setup.py
+@@ -726,10 +726,9 @@ class PyBuildExt(build_ext):
+         exts.append( Extension('_socket', ['socketmodule.c'],
+                                depends = ['socketmodule.h']) )
+         # Detect SSL support for the socket module (via _ssl)
+-        search_for_ssl_incs_in = [
+-                              '/usr/local/ssl/include',
+-                              '/usr/contrib/ssl/include/'
+-                             ]
++        search_for_ssl_incs_in = []
++        for dir in [os.getenv("STAGING_INCDIR")]:
++                search_for_ssl_incs_in.append(dir)
+         ssl_incs = find_file('openssl/ssl.h', inc_dirs,
+                              search_for_ssl_incs_in
+                              )
+@@ -739,9 +738,7 @@ class PyBuildExt(build_ext):
+             if krb5_h:
+                 ssl_incs += krb5_h
+         ssl_libs = find_library_file(self.compiler, 'ssl',lib_dirs,
+-                                     ['/usr/local/ssl/lib',
+-                                      '/usr/contrib/ssl/lib/'
+-                                     ] )
++                                     [os.getenv("STAGING_LIBDIR")])
+ 
+         if (ssl_incs is not None and
+             ssl_libs is not None):
diff --git a/meta/recipes-devtools/python/python3_3.4.3.bb b/meta/recipes-devtools/python/python3_3.4.3.bb
index 4bab4db..8e0c2ba 100644
--- a/meta/recipes-devtools/python/python3_3.4.3.bb
+++ b/meta/recipes-devtools/python/python3_3.4.3.bb
@@ -36,6 +36,7 @@ SRC_URI += "\
             file://python3-setup.py-no-host-headers-libs.patch \
             file://sysconfig.py-add-_PYTHON_PROJECT_SRC.patch \
             file://setup.py-check-cross_compiling-when-get-FLAGS.patch \
+            file://fix_ssl_include_dir.patch \
            "
 SRC_URI[md5sum] = "7d092d1bba6e17f0d9bd21b49e441dd5"
 SRC_URI[sha256sum] = "b5b3963533768d5fc325a4d7a6bd6f666726002d696f1d399ec06b043ea996b8"



More information about the Openembedded-commits mailing list