| Summary: | oe-core build of python 2.7.2 is broken | ||
|---|---|---|---|
| Product: | [Build System, Metadata & Runtime] OE-Core | Reporter: | Sergey Lapin <slapinid> |
| Component: | devtools / tool chain | Assignee: | Andrei Gherzan <andrei> |
| Status: | RESOLVED FIXED | QA Contact: | |
| Severity: | major | ||
| Priority: | Medium | CC: | andrei, meta.layer.watcher, meta.mr.watcher, meta.watcher, nitin.a.kamble, obi, scott.a.garman, sgw |
| Version: | unspecified | ||
| Target Milestone: | 1.2.1 | ||
| Hardware: | x86 | ||
| OS: | x86_64 | ||
| Whiteboard: | |||
| OS type for building Yocto: | --- | Type of Regression: | --- |
| Verified: | Documentation change: | --- | |
|
Description
Sergey Lapin
2012-01-27 02:16:00 UTC
python-native fails the same way. Compiling native python on this machine without OE produces no such errors. 08:34 < slapin> if I symlink Lib/plat-linux2 to Lib/plat-linux3 most of stuff is installed properly. 08:34 < slapin> that is for native 08:34 < slapin> but I don't know if it is proper way 08:35 < slapin> probably another simlink is needed in package 08:35 < slapin> or renaming post-processing is needed This patch fixes this problem for me:
diff --git a/meta/recipes-devtools/python/python-native_2.7.2.bb b/meta/recipes-devtools/python/python-native_2.7.2.bb
index 8bf0af0..a882e9a 100644
--- a/meta/recipes-devtools/python/python-native_2.7.2.bb
+++ b/meta/recipes-devtools/python/python-native_2.7.2.bb
@@ -1,6 +1,6 @@
require python.inc
DEPENDS = "openssl-native bzip2-full-native zlib-native readline-native sqlite3-native"
-PR = "${INC_PR}.3"
+PR = "${INC_PR}.4"
SRC_URI += "file://04-default-is-optimized.patch \
file://05-enable-ctypes-cross-build.patch \
@@ -26,6 +26,7 @@ EXTRA_OEMAKE = '\
LIBC="" \
STAGING_LIBDIR=${STAGING_LIBDIR_NATIVE} \
STAGING_INCDIR=${STAGING_INCDIR_NATIVE} \
+ MACHDEP=linux2 \
'
do_configure_prepend() {
diff --git a/meta/recipes-devtools/python/python_2.7.2.bb b/meta/recipes-devtools/python/python_2.7.2.bb
index 654c850..035d38b 100644
--- a/meta/recipes-devtools/python/python_2.7.2.bb
+++ b/meta/recipes-devtools/python/python_2.7.2.bb
@@ -1,7 +1,7 @@
require python.inc
DEPENDS = "python-native db gdbm openssl readline sqlite3 zlib"
DEPENDS_sharprom = "python-native db readline zlib gdbm openssl"
-PR = "${INC_PR}.5"
+PR = "${INC_PR}.6"
DISTRO_SRC_URI ?= "file://sitecustomize.py"
DISTRO_SRC_URI_linuxstdbase = ""
@@ -23,6 +23,9 @@ SRC_URI += "\
"
S = "${WORKDIR}/Python-${PV}"
+EXTRA_OEMAKE += ' \
+ MACHDEP=linux2 \
+ '
inherit autotools
Hi Sergey, Good to see you also working on the fix. Is the issue fixed now ? Nitin Not yet. Some of modules are still not built properly. This patch solves only part of the problem. ncurses modules and others are still not built while there's no obvious reason for them not to. Sergey, so what part is fixed by your patch ? Nitin 'import IN' works now., modules in Lib/plat-linux2 directory are installed and function properly. Sergey: You can send a commit pull request on the OE-core mailing list for your patch. Nitin I've sent a patch adressing part of this issue to the OE-Core mailing list. See http://patches.openembedded.org/patch/22993/ "dl" and "imageop" still fail on 64-bit build systems, because setup.py uses the build system's word size to perform some autodetection instead of the target word size. I haven't investigated the issue with the _curses* modules. Regards, Andreas I'm working on a fix for the curses issue and should have a fix ready by Monday. See bug #2070. I can reproduce but with fewer modules: Python build finished, but the necessary bits to build these modules were not found: _bsddb _tkinter bsddb185........ dbm sunaudiodev........................ To find the necessary bits, look in setup.py in detect_modules() for the module's name. bsddb - in work _tkinter - in work bsddb185 - in work dbm - done sunaudiodev - not needed as it is SunOS specific module bsddb - not needed as it is a darwin specific module _tkinter - tk needed and integrated bsddb185 - Is is a module specific for Berkeley db 1.85 and it's again platfrom specific (osf1 / darwin) dbm - done sunaudiodev - not needed as it is SunOS specific module Patches here: http://git.yoctoproject.org/cgit/cgit.cgi/poky-contrib/log/?h=ag/master For the darwin / sun specific modules i can push a patch to avoid these warnings but i don't know if this is wanted. Andrei, Thanks for great work! And is there any update for this issue ? "dl" and "imageop" still fail on 64-bit build systems, because setup.py uses the build system's word size to perform some autodetection instead of the target word size. Nitin Thank you. I don't have a 64b machine right now but i will setup one today. So i will fix those too. bsddb - not needed as it is a darwin specific module _tkinter - tk needed and integrated bsddb185 - It is a module specific for Berkeley db 1.85 and it's again platfrom specific (osf1 / darwin) dbm - done sunaudiodev - not needed as it is SunOS specific module dl - done imageop - done These modules are now built on 32bit and 64bit host machines. Thanks to Nitin Kamble whose hint was the actual fix. Sergey Lapin, as you reported this issue, would you be so kind and test these fixes? Commits: http://lists.linuxtogo.org/pipermail/openembedded-core/2012-March/019978.html Thanks, @g |