[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