1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
|
<tt>
<html><br>
<head><br>
<meta content="text/html; charset=ISO-8859-1"<br>
http-equiv="Content-Type"><br>
</head><br>
<body bgcolor="#FFFFFF" text="#000000"><br>
On 02/20/2013 03:57 PM, Andrew Cooper wrote:<br>
<blockquote cite="mid:512562F0.3030907@gmail.com" type="cite"><br>
<meta content="text/html; charset=ISO-8859-1"<br>
http-equiv="Content-Type"><br>
<br><br>
<div class="moz-cite-prefix">On 20/02/2013 14:14, Adam Woodbeck<br>
wrote:<br><br>
</div><br>
<blockquote<br>
cite="mid:CAGkRLJpooHQvqx=vvbyg1Mgy+6yrnuvYoiGbtM7i7fYEqhN_Mw@mail.gmail.com"<br>
type="cite"><br>
<div dir="ltr"><br>
<div><br>
<div>Has anyone successfully built pycrypto 2.6 on HP-UX<br>
11.31? I'm having a slight struggle with the build<br>
process, the latest of which are the following errors:<br><br>
<br><br>
<div style="margin-left:40px"> "src/hash_SHA2.h", line 91:<br>
error #2020: identifier "U32" is undefined<br><br>
typedef U32 sha2_word_t;<br><br>
<br><br>
"src/hash_SHA2_template.c", line 175: error #2020:<br>
identifier "U8" is undefined<br><br>
hash_update (hash_state *self, const U8 *buf, int len)<br><br>
<br><br>
2 errors detected in the compilation of "src/SHA256.c".<br><br>
</div><br>
</div><br>
</div><br>
</div><br>
</blockquote><br>
Probably worth using uint32_t and uint8_t respectively, as they<br>
substantially more standard than U32 and U8 in the world of C.<br><br>
</blockquote><br>
I think the problem is in src/hash_SHA2.h. There's no #else case,<br>
and there probably should be:<br>
<blockquote>/* determine fixed size types */<br><br>
#if defined(__STDC_VERSION__) && (__STDC_VERSION__ >=<br>
199901L)<br><br>
#include <stdint.h><br><br>
typedef uint8_t U8;<br><br>
typedef uint32_t U32;<br><br>
typedef uint64_t U64;<br><br>
#elif defined(_MSC_VER)<br><br>
typedef unsigned char U8;<br><br>
typedef unsigned __int64 U64;<br><br>
typedef unsigned int U32;<br><br>
#elif defined(__sun) || defined(__sun__)<br><br>
#include <sys/inttypes.h><br><br>
typedef uint8_t U8;<br><br>
typedef uint32_t U32;<br><br>
typedef uint64_t U64;<br><br>
#endif<br><br>
</blockquote><br>
Actually, the problem is that there are a bunch of different ways<br>
that integer types are being defined in PyCrypto. Time to move this<br>
over to a common include file and let autoconf figure out the<br>
details.<br><br>
<br><br>
Adam, could you pull the hpux-wip branch of pycrypto, run "python<br>
setup.py build test" and see if it works with my changes? (Don't<br>
derive your own branches on top of -wip branches, though, since I<br>
delete/rebase them often!)<br><br>
<br><br>
Basic instructions are as follows:<br><br>
<br><br>
git clone <a class="moz-txt-link-freetext" href="https://github.com/dlitz/pycrypto">https://github.com/dlitz/pycrypto</a><br><br>
cd pycrypto<br><br>
git checkout hpux-wip<br><br>
python setup.py build test<br><br>
<br><br>
Alternatively, if you don't have git installed, you can do this:<br><br>
<br><br>
# somehow download and unzip<br>
<a class="moz-txt-link-freetext" href="https://github.com/dlitz/pycrypto/archive/11559ddebbba3a4d4552a5038392d1cbaf11fbe6.zip">https://github.com/dlitz/pycrypto/archive/11559ddebbba3a4d4552a5038392d1cbaf11fbe6.zip</a><br><br>
<br>
cd pycrypto-1159dd*<br><br>
python setup.py build test<br><br>
<br><br>
If this works, I'll apply the changes to the master branch and<br>
include it in the next release.<br><br>
<br><br>
Cheers,<br><br>
- Dwayne<br><br>
</body><br>
</html><br>
</tt>
|