<br><br><div class="gmail_quote">On Wed, Aug 4, 2010 at 6:25 AM, Pauli Virtanen <span dir="ltr">&lt;<a href="mailto:pav@iki.fi" target="_blank">pav@iki.fi</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">

<div>Mon, 02 Aug 2010 23:48:52 +0800, Ralf Gommers wrote:<br>
</div><div>&gt; I&#39;m trying to get building to work with Python 3.1 under Wine on OS X.<br>
&gt; The first thing you run into is a python distutils problem, which is<br>
&gt; fixed by replacing line 379 of  cygwinccompiler.py with<br>
&gt;     result = RE_VERSION.search(str(out_string))<br>
<br>
</div>Ah yep, cygwinccompiler.py is in Python&#39;s distutils, I wondered for a<br>
while where the bug was :)<br>
<br>
But actually, I&#39;m now looking at the cygwinccompiler.py source code, and<br>
to me it seems it should be ok. The RE_VERSION is a byte-regular<br>
expression, so it&#39;s not obvious why making the input a str would help?<br>
<div><br></div></blockquote><div>I haven&#39;t started using py3k yet so I&#39;m still a bit fuzzy about bytes vs string. But it&#39;s easy to try in the interpreter:<br> <br></div><div>&gt;&gt;&gt; import re<br>
&gt;&gt;&gt; RE_VERSION = re.compile(&#39;(\d+\.\d+(\.\d+)*)&#39;)<br>&gt;&gt;&gt; cmd = &quot;gcc -dumpversion&quot;<br>&gt;&gt;&gt; from subprocess import Popen, PIPE<br>&gt;&gt;&gt; out = Popen(cmd, shell=True, stdout=PIPE).stdout<br>

&gt;&gt;&gt; out_string = out.read()<br>&gt;&gt;&gt; out.close()<br>&gt;&gt;&gt; result = RE_VERSION.search(out_string)<br>Traceback (most recent call last):<br>  File &quot;&lt;stdin&gt;&quot;, line 1, in &lt;module&gt;<br>

TypeError: can&#39;t use a string pattern on a bytes-like object<br><br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div>

&gt;   File<br>
&gt; &quot;Z:\Users\rgommers\Code\numpy\build\py3k\numpy\distutils<br>
\mingw32ccompiler.py&quot;,<br>
&gt; line 177, in link<br>
&gt;     func(*args[:func.__func__.__code__.co_argcount])<br>
&gt; AttributeError: &#39;function&#39; object has no attribute &#39;__func__&#39;<br>
<br>
</div>I fixed this in trunk r8595 (cherry-pick to 1.5.x if you find it works).<br></blockquote><div><br>That works, thanks. Then there&#39;s was still one more problem, _dotblas.c was not py3k ready. With this fix I can build everything under Wine:<br>
<a href="http://github.com/rgommers/numpy/tree/build-py3k">http://github.com/rgommers/numpy/tree/build-py3k</a><br>Does that look fine?<br><br>Cheers,<br>Ralf<br></div></div>