[OE-core] [PATCH] python3: Fix nativesdk build

Gary Thomas gary at mlbassoc.com
Tue Aug 4 15:08:42 UTC 2015


On 2015-08-04 08:56, Richard Purdie wrote:
> On Tue, 2015-08-04 at 08:52 -0600, Gary Thomas wrote:
>> The nativesdk package is built without Py_DEBUG which causes some
>> compile errors.  This patch fixes those errors allowing the nativesdk
>> package to build.
>>
>> Signed-off-by: Gary Thomas <gary at mlbassoc.com>
>> ---
>>   .../python/python3/fix-nativesdk-build.patch       | 28 ++++++++++++++++++++++
>>   meta/recipes-devtools/python/python3_3.4.3.bb      |  1 +
>>   2 files changed, 29 insertions(+)
>>   create mode 100644 meta/recipes-devtools/python/python3/fix-nativesdk-build.patch
>>
>> diff --git a/meta/recipes-devtools/python/python3/fix-nativesdk-build.patch b/meta/recipes-devtools/python/python3/fix-nativesdk-build.patch
>
> No description of the patch or Upstream-Status. I'm surprised python
> would have this issue. Do they not recommend building in this
> configuration or not support/test it?

I'm not sure - obviously it's not done often (as it breaks badly)

Maybe it would be cleaner just to let Py_DEBUG be set for the nativesdk
build but I couldn't see how/why this is not set in this case.

>
> I'm just worried what other issues we might run into as a result of
> this.

The changes only affect some asserts which the original code sometimes
protects with #ifdef Py_DEBUG but other times does not so I don't see
that it would have any detrimental side-effects.

>> new file mode 100644
>> index 0000000..d0cba39
>> --- /dev/null
>> +++ b/meta/recipes-devtools/python/python3/fix-nativesdk-build.patch
>> @@ -0,0 +1,28 @@
>> +Index: Python-3.4.3/Objects/unicodeobject.c
>> +===================================================================
>> +--- Python-3.4.3.orig/Objects/unicodeobject.c
>> ++++ Python-3.4.3/Objects/unicodeobject.c
>> +@@ -418,6 +418,9 @@ _PyUnicode_CheckConsistency(PyObject *op
>> +     }
>> +     return 1;
>> + }
>> ++#else
>> ++int
>> ++_PyUnicode_CheckConsistency(PyObject *op, int check_content) { return 1; }
>> + #endif
>> +
>> + static PyObject*
>> +Index: Python-3.4.3/Objects/obmalloc.c
>> +===================================================================
>> +--- Python-3.4.3.orig/Objects/obmalloc.c
>> ++++ Python-3.4.3/Objects/obmalloc.c
>> +@@ -2141,7 +2141,9 @@ _PyObject_DebugMallocStats(FILE *out)
>> +
>> +             if (p->ref.count == 0) {
>> +                 /* currently unused */
>> ++#ifdef Py_DEBUG
>> +                 assert(pool_is_in_list(p, arenas[i].freepools));
>> ++#endif
>> +                 continue;
>> +             }
>> +             ++numpools[sz];
>> diff --git a/meta/recipes-devtools/python/python3_3.4.3.bb b/meta/recipes-devtools/python/python3_3.4.3.bb
>> index 6c2e21d..582f6b0 100644
>> --- a/meta/recipes-devtools/python/python3_3.4.3.bb
>> +++ b/meta/recipes-devtools/python/python3_3.4.3.bb
>> @@ -38,6 +38,7 @@ SRC_URI += "\
>>               file://setup.py-check-cross_compiling-when-get-FLAGS.patch \
>>               file://setup.py-find-libraries-in-staging-dirs.patch \
>>              "
>> +SRC_URI_append_class-nativesdk = "file://fix-nativesdk-build.patch"
>>   SRC_URI[md5sum] = "7d092d1bba6e17f0d9bd21b49e441dd5"
>>   SRC_URI[sha256sum] = "b5b3963533768d5fc325a4d7a6bd6f666726002d696f1d399ec06b043ea996b8"
>>
>> --
>> 1.9.1
>>
>

-- 
------------------------------------------------------------
Gary Thomas                 |  Consulting for the
MLB Associates              |    Embedded world
------------------------------------------------------------



More information about the Openembedded-core mailing list