<div dir="ltr"><div class="gmail_extra"><div class="gmail_quote">Hi Ronie, Esteban,</div><div class="gmail_quote"><br></div><div class="gmail_quote">Could you do a quick review of my CMakeLists.txt change for <span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">any obvious blunder</span>.</div><div class="gmail_quote">This may be my last post on this thread for a short while.</div><div class="gmail_quote"><br></div><div class="gmail_quote"><br></div><div class="gmail_quote">On 8 August 2018 at 21:39, Ben Coman <span dir="ltr"><<a href="mailto:btc@openinworld.com" target="_blank">btc@openinworld.com</a>></span> wrote:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><div dir="ltr"><div class="gmail_extra"><span class="gmail-m_-1880086998417482134gmail-"><div class="gmail_quote"><br></div></span><div class="gmail_quote"><div>Well thats enough for one post! </div><div>Success running a MSVC compiled Spur Stack "minheadless" VM.</div><div><br></div><div>Next I'll try...
<span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"> option(COG_JIT "Cog JIT" ON)</span></div></div></div></div></blockquote></div></div><div class="gmail_extra">
<div style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><br class="gmail-m_-1880086998417482134gmail-Apple-interchange-newline">I did that, and then...</div><div style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"> "CMakeLists.txt > Cache(x64-Debug only) > Delete cache folder..."</span></div><div style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial"> "CMake > Build All"<br></div><div style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial">then started "x64-Debug" , "pharo.exe minImage+eval"</div><div class="gmail_extra">and a console window opens that reports...</div> "linking callsite to invalid address"</div><div class="gmail_extra"><br></div><div class="gmail_extra">Well I'm not sure how ready is the Windows 64bit JIT is, </div><div class="gmail_extra">so lets try with 32bit JIT.</div><div class="gmail_extra">In VS selecting "x86-Debug" , "pharo.exe minImage+eval" <br></div><div class="gmail_extra">and "Cmake > Build All"</div><div class="gmail_extra">reports... "Severity<span style="white-space:pre-wrap"> </span>Code<span style="white-space:pre-wrap"> </span>Description<span style="white-space:pre-wrap"> </span>Project<span style="white-space:pre-wrap"> </span>File<span style="white-space:pre-wrap"> </span>Line<span style="white-space:pre-wrap"> </span>Suppression State</div><div class="gmail_extra">Error<span style="white-space:pre-wrap"> </span>C1189<span style="white-space:pre-wrap"> </span>#error: As yet no Cogit implementation appears to exist for your platform.<span style="white-space:pre-wrap"> </span><br>C:\Program Files (x86)\Microsoft Visual Studio\2017\Community\Common7\<wbr>IDE\CMakeLists.txt<span style="white-space:pre-wrap"> </span>C:\#Repos\OpenSmalltalk\<wbr>opensmalltalk-vm\spur64src\vm\<wbr>cogit.c</div><div class="gmail_extra"><br></div><div class="gmail_extra">In the CMake variables</div><div class="gmail_extra"> SourceFolderName=spur64src<br></div><div class="gmail_extra">because..</div><div class="gmail_extra">
<span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">VM_64BITS=TRUE</span></div><div class="gmail_extra"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">which is set here...</span></div><div class="gmail_extra"><div class="gmail_extra"> if(SQUEAK_PLATFORM_X86_64)</div><div class="gmail_extra"><span style="white-space:pre-wrap"> </span>if(BUILD_I386_VERSION)</div><div class="gmail_extra"> set(SQUEAK_PLATFORM_X86_32 True)</div><div class="gmail_extra"><span style="white-space:pre-wrap"> </span> set(SQUEAK_PLATFORM_X86_64 False)</div><div class="gmail_extra"><span style="white-space:pre-wrap"> </span>else()</div><div class="gmail_extra"><span style="white-space:pre-wrap"> </span>set(VM_64BITS TRUE)</div><div class="gmail_extra"><span style="white-space:pre-wrap"> </span>set(SourceFolderName "${SourceFolderName}64")</div><div class="gmail_extra"><span style="white-space:pre-wrap"> </span>if(WIN32)</div><div class="gmail_extra"><span style="white-space:pre-wrap"> </span>set(FFI_VARIANT_X64_WIN64 True)</div><div class="gmail_extra"><span style="white-space:pre-wrap"> </span>else()</div><div class="gmail_extra"><span style="white-space:pre-wrap"> </span>set(FFI_VARIANT_X64_SYSV True)</div><div class="gmail_extra"><span style="white-space:pre-wrap"> </span>endif()</div><div class="gmail_extra"> set(VM_TARGET_CPU "x86_64")</div><div class="gmail_extra"><span style="white-space:pre-wrap"> </span>endif()</div><div class="gmail_extra"> else()</div><div class="gmail_extra"><span style="white-space:pre-wrap"> </span>set(VM_64BITS False)</div><div class="gmail_extra"> endif()</div><div class="gmail_extra"><br></div><div class="gmail_extra">which I'm not clear how that logic works, </div><div class="gmail_extra">since it seems <span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">BUILD_I386_VERSION doesn't prevent <span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">VM_64BITS=True</span></span></div><div class="gmail_extra"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></span></div><div class="gmail_extra"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">Rearranging like...</span></span></div><div class="gmail_extra"><span style="background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><div class="gmail_extra"><br></div><div class="gmail_extra"> if(BUILD_I386_VERSION)</div><div class="gmail_extra"> set(SQUEAK_PLATFORM_X86_32 True)</div><div class="gmail_extra"> set(SQUEAK_PLATFORM_X86_64 False)</div><div class="gmail_extra"> set(VM_64BITS False)</div><div class="gmail_extra"> else()</div><div class="gmail_extra"> endif()</div><div class="gmail_extra"> if(SQUEAK_PLATFORM_X86_64)</div><div class="gmail_extra"> set(VM_64BITS TRUE)</div><div class="gmail_extra"> set(SourceFolderName "${SourceFolderName}64")</div><div class="gmail_extra"> if(WIN32)</div><div class="gmail_extra"> set(FFI_VARIANT_X64_WIN64 True)</div><div class="gmail_extra"> else()</div><div class="gmail_extra"> set(FFI_VARIANT_X64_SYSV True)</div><div class="gmail_extra"> endif()</div><div class="gmail_extra"> set(VM_TARGET_CPU "x86_64")</div><div class="gmail_extra"> else()</div><div class="gmail_extra"> endif()</div></span></span></div><div class="gmail_extra"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><br></span></span></div><div class="gmail_extra"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">then adding
<span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">-DBUILD_I386_VERSION in
<span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">"CmakeSettings.json"</span> like this</span>... </span></span></div><div class="gmail_extra"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"> "CMakeLists.txt > Change Cmake Settings"</span></span></div><div class="gmail_extra"> {<br></div><div class="gmail_extra"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><div class="gmail_extra"> "name": "x86-Debug",</div><div class="gmail_extra"> "generator": "Ninja",</div><div class="gmail_extra"> "configurationType": "Debug",</div><div class="gmail_extra"> "inheritEnvironments": [ "msvc_x86" ],</div><div class="gmail_extra"> "buildRoot": "${env.USERPROFILE}\\<wbr>CMakeBuilds\\${workspaceHash}\<wbr>\build\\${name}",</div><div class="gmail_extra"> "installRoot": "${env.USERPROFILE}\\<wbr>CMakeBuilds\\${workspaceHash}\<wbr>\install\\${name}",</div><div class="gmail_extra"> "cmakeCommandArgs": "-DBUILD_I386_VERSION=ON",</div><div class="gmail_extra"> "buildCommandArgs": "-v",</div><div class="gmail_extra"> "ctestCommandArgs": ""</div><div class="gmail_extra"> },</div></span></span></div><div class="gmail_extra"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"> </span></span></div><div class="gmail_extra"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">then refreshing...</span></span></div><div class="gmail_extra"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">
<div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial;background-color:rgb(255,255,255)"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"> "CMakeLists.txt > Cache(x64-Debug only) > Delete cache folder..."</span></div><div style="font-size:small;text-decoration-style:initial;text-decoration-color:initial;background-color:rgb(255,255,255)"> "CMake > Build All"</div>
<br></span></span></div><div class="gmail_extra"><span style="font-size:small;background-color:rgb(255,255,255);text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline"><span style="text-decoration-style:initial;text-decoration-color:initial;float:none;display:inline">leaves these values in the Cmake variables...</span></span></div><div class="gmail_extra"> VM_64BITS=False</div></div><div class="gmail_extra"> SourceFolderName=spursrc</div><div class="gmail_extra"><br></div><div class="gmail_extra">and the build completes successfully.</div><div class="gmail_extra"><br></div><div class="gmail_extra">I'm leaving it there for the moment. </div><div class="gmail_extra">Actually the above sat in unchanged in draft for a week since I've had to shift my attention to something else.</div><div class="gmail_extra"><br></div><div class="gmail_extra">Modifications to date here... <a href="https://github.com/bencoman/opensmalltalk-vm/tree/MinimalisticHeadless-x64-msvc2017">https://github.com/bencoman/opensmalltalk-vm/tree/MinimalisticHeadless-x64-msvc2017</a></div><div class="gmail_extra">Next would be to catch up to Esteban's branch... <a href="https://github.com/estebanlm/opensmalltalk-vm/tree/add-minheadless-vm">https://github.com/estebanlm/opensmalltalk-vm/tree/add-minheadless-vm</a></div><div class="gmail_extra"><br></div><div class="gmail_extra">cheers -ben</div></div>