Building Python 2.2.1 for HP Tru64 UNIX V4.0F

Neal Norwitz neal at metaslash.com
Wed Oct 9 09:56:54 EDT 2002


On Wed, 09 Oct 2002 09:21:47 -0400, change wrote:

> Hi,
> 
> I'm trying to build Python 2.2.1 for HP (COMPAQ) Tru64 UNIX V4.0F with
> the debug option.

2.2.2 beta is out.  Could you try that version?  I don't think
it will fix the problem, but it's a better starting point.

> The build fails in Python/marshal.c:
> The problem seems to be the definition of Py_SAFE_DOWNCAST in
> Include/pyport.h
> 
> #ifdef Py_DEBUG
> #define Py_SAFE_DOWNCAST(VALUE, WIDE, NARROW) \
>         (assert((WIDE)(NARROW)(VALUE) == (VALUE)), (NARROW)(VALUE))
> #else
> #define Py_SAFE_DOWNCAST(VALUE, WIDE, NARROW) (NARROW)(VALUE) 
> #endif
> 
> I also wrote a simple c program mimicking this behavior:
> 
> #include <stdio.h>
> #include <assert.h>
> 
> 
> #define SAFE_DOWNCAST(VALUE, WIDE, NARROW)  (assert
> ((WIDE)(NARROW)(VALUE) == (VALUE)), (NARROW)(VALUE))

Unless you are compiling --with-pydebug (so Py_DEBUG is defined),
you should be getting ther other macro (NARROW)(VALUE).

If you are compiling w/debug, do you have the same problem
if you don't compile with debug?

> This program does not seem to compile with the cc or the gcc compilers.
> Is there a problem with my C compilers or the switches I use with them?

The code looked fine, what version of the compilers are you using?
Have you tried using the -E option and look at the post macro processed
file?  This could determine if it's the preprocessor (cpp) or the
compiler.

Neal



More information about the Python-list mailing list