[Python-modules-team] Bug#800392: Bug#800392: Bug#800392: Bug#800392: python-numpy: FTBFS on powerpc due to test failure

Emilio Pozuelo Monfort pochu at debian.org
Thu Oct 1 22:24:05 UTC 2015


On 02/10/15 00:05, Emilio Pozuelo Monfort wrote:
> On Thu, 1 Oct 2015 21:13:04 +0100 Sandro Tosi <morph at debian.org> wrote:
>>> those certainly should work, forgot about them.
>>> you should be able to login to a powerpc porterbox and check.
>>> cat test.c
>>> __POWERPC__
>>> gcc -E test.c
>>
>> i tried with something like this:
>>
>> $ cat t.c
>> #ifdef __POWERPC__
>> #ifndef NDEBUG
>> // disable asserts malloc broken
>> // https://sourceware.org/bugzilla/show_bug.cgi?id=6527
>> #define NDEBUG
>> #endif
>> #endif
>>
>> #define PY_SSIZE_T_CLEAN
>>
>> $ gcc -E t.c
>> # 1 "t.c"
>> # 1 "<built-in>"
>> # 1 "<command-line>"
>> # 1 "/usr/include/stdc-predef.h" 1 3 4
>> # 1 "<command-line>" 2
>> # 1 "t.c"
>>
>> I guess the output means the __POWERPC__ is not recognized right?
>>
>> I slightly changed your patch to use the same macro as in npy_cpu; if
>> even that one fails, for teh benefit of the transition I will disable
>> the failure for tests and will address it in due time
> 
> I think what you want is:
> 
> #if defined(__powerpc__) & !defined(__powerpc64__)
> // disable asserts...
> #endif
> 
> Otherwise if you only check for __powerpc__ (and/or similars, e.g. __ppc__) you
> will also disable the asserts on ppc64 / ppc64el.

Your upload failed. The problem is this:

numpy/core/src/multiarray/lowlevel_strided_loops.c.src:10:15: warning: extra
tokens at end of #ifdef directive
 #ifdef defined(__ppc__) || defined(__powerpc__) || defined(_ARCH_PPC)
               ^
That's because you mixed 'ifdef' together with defined. That should have been 'if'.

Anyway, just changed that with

#if defined(__powerpc__) & !defined(__powerpc64__)

BTW you can build packages on the porterbox :-)

Cheers,
Emilio



More information about the Python-modules-team mailing list