<html xmlns:v="urn:schemas-microsoft-com:vml" xmlns:o="urn:schemas-microsoft-com:office:office" xmlns:w="urn:schemas-microsoft-com:office:word" xmlns:m="http://schemas.microsoft.com/office/2004/12/omml" xmlns="http://www.w3.org/TR/REC-html40"><head><meta http-equiv=Content-Type content="text/html; charset=us-ascii"><meta name=Generator content="Microsoft Word 14 (filtered medium)"><style><!--
/* Font Definitions */
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:Wingdings;
panose-1:5 0 0 0 0 0 0 0 0 0;}
@font-face
{font-family:Calibri;
panose-1:2 15 5 2 2 2 4 3 2 4;}
/* Style Definitions */
p.MsoNormal, li.MsoNormal, div.MsoNormal
{margin:0in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
a:link, span.MsoHyperlink
{mso-style-priority:99;
color:blue;
text-decoration:underline;}
a:visited, span.MsoHyperlinkFollowed
{mso-style-priority:99;
color:purple;
text-decoration:underline;}
p.MsoListParagraph, li.MsoListParagraph, div.MsoListParagraph
{mso-style-priority:34;
margin-top:0in;
margin-right:0in;
margin-bottom:0in;
margin-left:.5in;
margin-bottom:.0001pt;
font-size:11.0pt;
font-family:"Calibri","sans-serif";}
span.EmailStyle17
{mso-style-type:personal-compose;
font-family:"Arial","sans-serif";
color:windowtext;}
.MsoChpDefault
{mso-style-type:export-only;
font-family:"Calibri","sans-serif";}
@page WordSection1
{size:8.5in 11.0in;
margin:1.0in 1.0in 1.0in 1.0in;}
div.WordSection1
{page:WordSection1;}
/* List Definitions */
@list l0
{mso-list-id:1649746845;
mso-list-type:hybrid;
mso-list-template-ids:-52535374 155985526 67698691 67698693 67698689 67698691 67698693 67698689 67698691 67698693;}
@list l0:level1
{mso-level-start-at:64;
mso-level-number-format:bullet;
mso-level-text:-;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Calibri","sans-serif";
mso-fareast-font-family:Calibri;
mso-bidi-font-family:"Times New Roman";}
@list l0:level2
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level3
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l0:level4
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level5
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level6
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
@list l0:level7
{mso-level-number-format:bullet;
mso-level-text:\F0B7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Symbol;}
@list l0:level8
{mso-level-number-format:bullet;
mso-level-text:o;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:"Courier New";}
@list l0:level9
{mso-level-number-format:bullet;
mso-level-text:\F0A7;
mso-level-tab-stop:none;
mso-level-number-position:left;
text-indent:-.25in;
font-family:Wingdings;}
ol
{margin-bottom:0in;}
ul
{margin-bottom:0in;}
--></style><!--[if gte mso 9]><xml>
<o:shapedefaults v:ext="edit" spidmax="1026" />
</xml><![endif]--><!--[if gte mso 9]><xml>
<o:shapelayout v:ext="edit">
<o:idmap v:ext="edit" data="1" />
</o:shapelayout></xml><![endif]--></head><body lang=EN-US link=blue vlink=purple><div class=WordSection1><p class=MsoNormal>Hi everyone,<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I realize my previous post was quite unreadable, thanks to my email client. I am going to report my question here, with slight enhancements. Apologies for inconvenience caused and spamming your mailboxes.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I am facing a strange problem using weave on 64 bit machine. Specifically with weave's inline function. It has something to do with weave's catalog. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Similar issues I found in the past (very old)<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><a href="http://mail.scipy.org/pipermail/scipy-dev/2006-June/005908.html">http://mail.scipy.org/pipermail/scipy-dev/2006-June/005908.html</a> <o:p></o:p></p><p class=MsoNormal><a href="http://mail.scipy.org/pipermail/scipy-dev/2005-June/003042.html">http://mail.scipy.org/pipermail/scipy-dev/2005-June/003042.html</a><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Common things I have in my observation are:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Already working setup in 32 bit doesn’t work in same manner in 64 bit env<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Weave recompiles inline code which does not require any recompilation. This is random behavior. Whenever weave recompiles I see a notification “repairing catalog by removing key” in the output which ends up in the error message “ImportError: DLL load failed: Invalid access to memory location”<o:p></o:p></p><p class=MsoListParagraph style='text-indent:-.25in;mso-list:l0 level1 lfo1'><![if !supportLists]><span style='mso-list:Ignore'>-<span style='font:7.0pt "Times New Roman"'> </span></span><![endif]>Sometimes gcc gets into an infinite loop printing error message “Looking for python27.dll”. Even though the dll is on the path. This process doesn’t end. Had to kill it forcefully. G++ process became ghost even after killing python process. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Could someone advise what am I missing here. Is there any specific setup that I need to do? Is there an issue with python 27 64 bit weave implementation? <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Regards,<o:p></o:p></p><p class=MsoNormal>Alok<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><CODE><o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>I have a simple script to calculate moving average using weave's inline function. <o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>source mvg.py<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>import numpy as np<o:p></o:p></p><p class=MsoNormal>import scipy.weave as weave<o:p></o:p></p><p class=MsoNormal>import distutils.sysconfig<o:p></o:p></p><p class=MsoNormal>import distutils.dir_util<o:p></o:p></p><p class=MsoNormal>import os<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>distutils.sysconfig._config_vars["LDSHARED"]="-LC:\strawberry\c\x86_64-w64-mingw32\lib"<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>def ExpMovAvg(data,time,lag):<o:p></o:p></p><p class=MsoNormal> if (data.size!=time.size):<o:p></o:p></p><p class=MsoNormal> print "error in EMA, data and time have different size"<o:p></o:p></p><p class=MsoNormal> return None<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal> result=np.repeat(0.0,data.size)<o:p></o:p></p><p class=MsoNormal> code="""<o:p></o:p></p><p class=MsoNormal> #line 66 "basics.py"<o:p></o:p></p><p class=MsoNormal> result(0)=data(0);<o:p></o:p></p><p class=MsoNormal> for (int i=0;i<data.size()-1;i++)<o:p></o:p></p><p class=MsoNormal> {<o:p></o:p></p><p class=MsoNormal> //double alpha=1-(2.0/(lag+1)*(time(i)-time(i-1)));<o:p></o:p></p><p class=MsoNormal> double dt=time(i+1)-time(i);<o:p></o:p></p><p class=MsoNormal> double alpha=pow(0.13533, dt / lag);<o:p></o:p></p><p class=MsoNormal> if(alpha>1)<o:p></o:p></p><p class=MsoNormal> {<o:p></o:p></p><p class=MsoNormal> alpha=10;<o:p></o:p></p><p class=MsoNormal> }<o:p></o:p></p><p class=MsoNormal> result(i+1)=(1-alpha)*data(i)+alpha*result(i);<o:p></o:p></p><p class=MsoNormal> }<o:p></o:p></p><p class=MsoNormal> """<o:p></o:p></p><p class=MsoNormal> weave.inline(code,["data","time","lag","result"],type_converters=weave.converters.blitz,headers=["<math.h>"],compiler="gcc",verbose=2)<o:p></o:p></p><p class=MsoNormal> return result<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>source test.py<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>import string<o:p></o:p></p><p class=MsoNormal>import numpy as np<o:p></o:p></p><p class=MsoNormal>import mvg<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>print(mvg.ExpMovAvg(np.array(range(10)),np.array(range(10)),2))<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Output:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Working output:<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Y:\STMM\alpha\klse\PROD>c:\python27\python.exe<o:p></o:p></p><p class=MsoNormal>s:\common\tools\python\python-2.7-64bit\test.py<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>[ 0. 0. 0.63212774 1.49679774 2.44701359 3.42869938<o:p></o:p></p><p class=MsoNormal>4.42196209 5.41948363 6.41857187 7.41823646]<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Now if I keep running the script multiple times, sometimes I see correct<o:p></o:p></p><p class=MsoNormal>output... but suddenly sometimes I get below error.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Y:\STMM\alpha\klse\PROD>c:\python27\python.exe s:\common\tools\python\python-2.7-64bit\test.py<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>repairing catalog by removing key<o:p></o:p></p><p class=MsoNormal><weave: compiling><o:p></o:p></p><p class=MsoNormal>Looking for python27.dll<o:p></o:p></p><p class=MsoNormal>running build_ext<o:p></o:p></p><p class=MsoNormal>running build_src<o:p></o:p></p><p class=MsoNormal>build_src<o:p></o:p></p><p class=MsoNormal>building extension "sc_44f3fe3c65d5c3feecb45d9269ac207f5" sources<o:p></o:p></p><p class=MsoNormal>build_src: building npy-pkg config files<o:p></o:p></p><p class=MsoNormal>Looking for python27.dll<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>customize Mingw32CCompiler<o:p></o:p></p><p class=MsoNormal>customize Mingw32CCompiler using build_ext<o:p></o:p></p><p class=MsoNormal>Looking for python27.dll<o:p></o:p></p><p class=MsoNormal>customize Mingw32CCompiler<o:p></o:p></p><p class=MsoNormal>customize Mingw32CCompiler using build_ext<o:p></o:p></p><p class=MsoNormal>building 'sc_44f3fe3c65d5c3feecb45d9269ac207f5' extension<o:p></o:p></p><p class=MsoNormal>compiling C++ sources<o:p></o:p></p><p class=MsoNormal>C compiler: g++ -g -DDEBUG -DMS_WIN64 -O0 -Wall<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>compile options: '-Ic:\python27\lib\site-packages\scipy\weave -Ic:\python27\lib\site-packages\scipy\weave\scxx -Ic:\python27\lib\site-packages\scipy\weave\blitz -Ic:\python27\lib\site-packages\numpy\core\include -Ic:\python27\include -Ic:\python27\PC -c' <o:p></o:p></p><p class=MsoNormal><o:p></o:p></p><p class=MsoNormal>g++ -g -DDEBUG -DMS_WIN64 -O0 -Wall -Ic:\python27\lib\site-packages\scipy\weave -Ic:\python27\lib\site-packages\scipy\weave\scxx -Ic:\python27\lib\site-packages\scipy\weave\blitz -Ic:\python27\lib\site-packages\numpy\core\include -Ic:\python27\include -Ic:\python27\PC -c c:\users\ajadhav2\appdata\local\temp\ajadhav2\python27_compiled\sc_44f3fe3c65d5c3feecb45d9269ac207f5.cpp -o c:\users\ajadhav2\appdata\local\temp\ajadhav2\python27_intermediate\compiler_2d3e1e2e4de6a91419d2376b162e5342\Release\users\ajadhav2\appdata\local\temp\ajadhav2\python27_compiled\sc_44f3fe3c65d5c3feecb45d9269ac207f5.o<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Found executable C:\strawberry\c\bin\g++.exe<o:p></o:p></p><p class=MsoNormal>g++ -g -DDEBUG -DMS_WIN64 -O0 -Wall-Ic:\python27\lib\site-packages\scipy\weave-Ic:\python27\lib\site-packages\scipy\weave\scxx -Ic:\python27\lib\site-packages\scipy\weave\blitz -Ic:\python27\lib\site-packages\numpy\core\include-Ic:\python27\include -Ic:\python27\PC -c c:\python27\lib\site-packages\scipy\weave\scxx\weave_imp.cpp -o c:\users\ajadhav2\appdata\local\temp\ajadhav2\python27_intermediate\compiler_2d3e1e2e4de6a91419d2376b162e5342\Release\python27\lib\site-packages\scipy\weave\scxx\weave_imp.o<o:p></o:p></p><p class=MsoNormal>g++ -g -shared c:\users\ajadhav2\appdata\local\temp\ajadhav2\python27_intermediate\compiler_2d3e1e2e4de6a91419d2376b162e5342\Release\users\ajadhav2\appdata\local\temp\ajadhav2\python27_compiled\sc_44f3fe3c65d5c3feecb45d9269ac207f5.o c:\users\ajadhav2\appdata\local\temp\ajadhav2\python27_intermediate\compiler_2d3e1e2e4de6a91419d2376b162e5342\Release\python27\lib\site-packages\scipy\weave\scxx\weave_imp.o -Lc:\python27\libs -Lc:\python27\PCbuild\amd64 -lpython27 -lmsvcr90 -o c:\users\ajadhav2\appdata\local\temp\ajadhav2\python27_compiled\sc_44f3fe3c65d5c3feecb45d9269ac207f5.pyd<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>running scons<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Traceback (most recent call last):<o:p></o:p></p><p class=MsoNormal> File "s:\common\tools\python\python-2.7-64bit\test.py", line 5, in <module> print(mvg.ExpMovAvg(np.array(range(10)),np.array(range(10)),2))<o:p></o:p></p><p class=MsoNormal> File "s:\common\tools\python\python-2.7-64bit\mvg.py", line 30, in ExpMovAvgweave.inline(code,["data","time","lag","result"], type_converters=weave.converters.blitz,headers=["<math.h>"],compiler="gcc",verbose=2)<o:p></o:p></p><p class=MsoNormal> File "c:\python27\lib\site-packages\scipy\weave\inline_tools.py", line355, ininline **kw)<o:p></o:p></p><p class=MsoNormal> File "c:\python27\lib\site-packages\scipy\weave\inline_tools.py", line 488, in compile_function exec 'import ' + module_name<o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal> File "<string>", line 1, in <module> ImportError: DLL load failed: Invalid access to memory location.<o:p></o:p></p><p class=MsoNormal><o:p> </o:p></p><p class=MsoNormal>Y:\STMM\alpha\klse\PROD><o:p></o:p></p><p class=MsoNormal> <o:p></o:p></p><p class=MsoNormal></CODE><o:p></o:p></p></div> <BR/><!DOCTYPE html PUBLIC "-//W3C//DTD HTML 4.01 Transitional//EN"><html><p class=MsoNormal><span lang=EN-US style='font-size:8.0pt;font-family:Courier'>==============================================================================<br>Please access the attached hyperlink for an important electronic communications disclaimer:<br><a href="http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html">http://www.credit-suisse.com/legal/en/disclaimer_email_ib.html</a><br>==============================================================================<o:p></o:p></span></p></html> <br>
</body></html>