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

noreply@sourceforge.net noreply@sourceforge.net
Wed, 29 May 2002 03:33:04 -0700


Bugs item #558914, was opened at 2002-05-21 23: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: Closed
>Resolution: Accepted
Priority: 5
Submitted By: Mark Hadfield (hadfield)
>Assigned to: Michael Hudson (mwh)
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.



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

>Comment By: Michael Hudson (mwh)
Date: 2002-05-29 10:33

Message:
Logged In: YES 
user_id=6656

Checked in as Modules/md5.h revision 2.8.

Thanks!

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

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