469,898 Members | 1,815 Online
Bytes | Developer Community
New Post

Home Posts Topics Members FAQ

Post your question to a community of 469,898 developers. It's quick & easy.

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.
Jul 18 '05 #1
1 1569
"Holden Caulfield" <phoebe_1@no_spam.worldnet.att.net> writes:
The integer operation result is out of range.

PT(0), PT(1), PT(2), PT(3), PT(4), PT(5), PT(6), PT(7) [...] Any ideas what is going on?


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

Jul 18 '05 #2

This discussion thread is closed

Replies have been disabled for this discussion.

Similar topics

14 posts views Thread by Jeffrey Barish | last post: by
1 post views Thread by Berthold Höllmann | last post: by
reply views Thread by stefvienna | last post: by
reply views Thread by Kurt B. Kaiser | last post: by
reply views Thread by Kurt B. Kaiser | last post: by
5 posts views Thread by jgelfand | last post: by
3 posts views Thread by Helmut Jarausch | last post: by
1 post views Thread by Waqarahmed | last post: by
reply views Thread by Salome Sato | last post: by
By using this site, you agree to our Privacy Policy and Terms of Use.