Python 2.3C1 Fails to build ?

Collapse
This topic is closed.
X
X
 
  • Time
  • Show
Clear All
new posts
  • Holden Caulfield

    Python 2.3C1 Fails to build ?

    Hi,

    I am trying to build Python 2.3 RC1 (2.3c1) on Cray SV1 running UNICOS 10.0.
    And I am difficulty
    building it on this architecture.

    Background
    --------------

    .. Python 2.2.3 builds withs no problem. (without any changes).
    .. This architecture has all C-datatypes as 8 bytes.

    Try 1:
    -------

    I got this error message first time around.

    ~~~~ Cut ~~
    cc -h nomessage=450 -h nostdc -h noconform -c -DNDEBUG -h scalar0 -h
    vector0 -I. -I./Include -DPy_BUILD_CORE -o Parser/grammar.o
    Parser/grammar.c
    CC-513 cc: ERROR File = Parser/grammar.c, Line = 45
    A value of type "int" cannot be assigned to an entity of type "char *".

    d->d_name = strdup(name);
    ^

    CC-513 cc: ERROR File = Parser/grammar.c, Line = 105
    A value of type "int" cannot be assigned to an entity of type "char *".

    lb->lb_str = strdup(str);
    ^

    Total errors detected in Parser/grammar.c: 2
    make: *** [Parser/grammar.o] Error 1

    ~~~~~~

    - For some reason the strdup prototype does not get picked by the python
    build.
    Anyways, since strdup is there in libc, I just #ifdef'ed the prototype for
    _CRAY and proceeded. It went
    further this time around, but now I get this error in obmalloc.c, which
    seems more problematic to fix.

    ~~~ Error message cut ~~~
    cc -h nomessage=450 -h nostdc -h noconform -c -DNDEBUG -h scalar0 -h
    vector0 -I. -I./Include -DPy_BUILD_CORE -o Objects/obmalloc.o
    Objects/obmalloc.c
    CC-61 cc: ERROR File = Objects/obmalloc.c, Line = 371
    The integer operation result is out of range.

    PT(0), PT(1), PT(2), PT(3), PT(4), PT(5), PT(6), PT(7)
    ^

    CC-61 cc: ERROR File = Objects/obmalloc.c, Line = 371
    The integer operation result is out of range.

    PT(0), PT(1), PT(2), PT(3), PT(4), PT(5), PT(6), PT(7)
    ^

    Total errors detected in Objects/obmalloc.c: 2
    make: *** [Objects/obmalloc.o] Error 1
    ~~~~~~~~~~~~~~

    Any ideas what is going on?

    Thanks.


  • Martin v. Löwis

    #2
    Re: Python 2.3C1 Fails to build ?

    "Holden Caulfield" <phoebe_1@no_sp am.worldnet.att .net> writes:
    [color=blue]
    > The integer operation result is out of range.
    >
    > PT(0), PT(1), PT(2), PT(3), PT(4), PT(5), PT(6), PT(7)[/color]
    [...][color=blue]
    > Any ideas what is going on?[/color]

    I'd say there is a bug in the compiler. PT(0) is PTA(0), PTA(0),
    which is

    ((poolp )((uchar *)&(usedpools[2*(0)]) - 2*sizeof(block *)))

    Assuming that "2*(0)*" and "2*sizeof(block *)" are all not out of
    range, abouth the only remaining operation is the subtraction, which
    is of type "uchar* - size_t". This is, however, not an integer
    operation, but a pointer operation.

    You might want to try similar expressions in a separate program, to
    narrow down the problem further.

    Regards,
    Martin

    Comment

    Working...