[Python-bugs-list] [ python-Bugs-558914 ] Build md5.c fails on Cray T3E

noreply@sourceforge.net noreply@sourceforge.net
Tue, 21 May 2002 16:02:35 -0700


Bugs item #558914, was opened at 2002-05-22 11:02
You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=105470&aid=558914&group_id=5470

Category: Extension Modules
Group: Platform-specific
Status: Open
Resolution: None
Priority: 5
Submitted By: Mark Hadfield (hadfield)
Assigned to: Nobody/Anonymous (nobody)
Summary: Build md5.c fails on Cray T3E

Initial Comment:
Building Python 2.2.1 on Cray T3E, compilation of md5.c
and md5module.c fails because UINT4 is undefined. The 
T3E does have an unsigned, 4-byte integer data type
(namely short) but the following code in Modules/md5.h
fails to find it:

/* UINT4 defines a four byte word */
#if SIZEOF_LONG == 4
typedef unsigned long int UINT4;
#else
#if INT_MAX == 2147483647
typedef unsigned int UINT4;
#endif
/* Too bad if neither is; pyport.h would need to be
fixed. */
#endif

So I changed it to:

/* UINT4 defines a four byte word */
#if SIZEOF_LONG == 4
typedef unsigned long int UINT4;
#elif SIZEOF_SHORT == 4
typedef unsigned short int UINT4;
#elif INT_MAX == 2147483647
typedef unsigned int UINT4;
#endif
/* Too bad if neither is; pyport.h would need to be
fixed. */

Also, Modules/md5.h defines a UINT2. This is a worry
because T3E's don't have a 2-byte integer data type. It
turns out that this symbol is never used.

With modified Modules/md5.h (attached), the md5 module
compiles OK and passes tests.



----------------------------------------------------------------------

You can respond by visiting: 
http://sourceforge.net/tracker/?func=detail&atid=105470&aid=558914&group_id=5470