<div dir="ltr"><br><div class="gmail_extra"><br><br><div class="gmail_quote">On Tue, Nov 19, 2013 at 11:01 AM, <a href="mailto:phil@highoctane.be">phil@highoctane.be</a> <span dir="ltr">&lt;<a href="mailto:phil@highoctane.be" target="_blank">phil@highoctane.be</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"> <br><div dir="ltr"><div><div>I&#39;ve been moving forward with building the VM for Windows from the GitHub sources with MinGW.</div>
</div><div><br></div><div>Now, to get the thing to compile, I had to replace the oft_t things by _oft_t, same for the 64 flavor.</div>

<div><br></div><div>So, modifiying two header files, one being mingw.h where I put #define oft_t _oft_t at the end.</div><div><br></div><div>This did the trick and I now have all plugins/dlls building fine:</div><div><br>


</div><div><div>FT2Plugin.dll</div><div>libcairo-2.dll</div><div>libeay32.dll</div><div>libfreetype-6.dll</div><div>libfreetype.dll.a</div><div>libFT2Plugin.dll.a</div><div>libpixman-1-0.dll</div><div>libpng-3.dll</div><div>


libSqueakFFIPrims.dll.a</div><div>libSqueakSSL.dll.a</div><div>SqueakFFIPrims.dll</div><div>SqueakSSL.dll</div><div>ssleay32.dll</div><div>zlib1.dll</div></div><div><br></div><div>are in results/</div><div><br></div><div>


Also, to get there, one has to create a vmVersionInfo.h file in platforms\Cross\vm with something in the REVISION_STRING </div><div><br></div><div>#define REVISION_STRING &quot;Pharo VM - Philippe Back from GitHub Sources 20131119&quot;<br>
</div></div></blockquote><div><br></div><div>are you following the instructions? </div><div>because this part at least is auto-generated, you should not doit by hand. </div><div>check in the generated build.sh... all the needed sequence is there.<br>
</div><div><br></div><div>and in any case, if you execute </div><div><br></div><div>build$ ../script/extract-commit-info.sh</div><div><br></div><div>it is also generated.</div><div><br></div><div>cheers, </div><div>Esteban</div>
<div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left-width:1px;border-left-color:rgb(204,204,204);border-left-style:solid;padding-left:1ex"><div dir="ltr"><div>

</div><div><br></div><div>I wonder why this isn&#39;t something automagically generated in the process as it seems that the CI build has something.</div><div><br></div><div>The last step is getting Pharo.exe to link but this doesn&#39;t work:</div>


<div><br></div><div><div>Linking C executable /C/MinGW/msys/1.0/home/Philippe/pharo-vm/results/Pharo.exe</div><div>c:/mingw/bin/../lib/gcc/mingw32/4.8.1/../../../../mingw32/bin/ld.exe: cannot fin</div><div>d -lcrtdll</div>


<div>collect2.exe: error: ld returned 1 exit status</div><div>make[2]: *** [C:/MinGW/msys/1.0/home/Philippe/pharo-vm/results/Pharo.exe] Error</div><div>1</div><div>make[1]: *** [CMakeFiles/Pharo.dir/all] Error 2</div><div>


make: *** [all] Error 2</div></div><div><br></div><div><br></div><div>Looks like a library path is wrong or else.</div><div><br></div><div>Idea?</div><div><br></div><div>Also, there are quite a number of warnings spit out during the compiling process all over the place, more than the Mac VM build I think.</div>


<div><br></div><div>e.g.</div><div><br></div><div><div>[ 92%] Building C object CMakeFiles/Pharo.dir/C_/MinGW/msys/1.0/home/Philippe/ph</div><div>aro-vm/platforms/win32/vm/sqWin32Prefs.c.obj</div><div>In file included from C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/Cross/v</div>


<div>m/sq.h:193:0,</div><div>                 from c:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/v</div><div>m/sqWin32Prefs.c:20:</div><div>C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/vm/sqPlatformSpecific.h</div>


<div>:52:0: warning: &quot;VM_EXPORT&quot; redefined [enabled by default]</div><div> #  define VM_EXPORT __declspec( dllexport )</div><div> ^</div><div>In file included from c:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/v</div>


<div>m/sqWin32Prefs.c:20:0:</div><div>C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/Cross/vm/sq.h:48:0: note: thi</div><div>s is the location of the previous definition</div><div> #define VM_EXPORT</div><div> ^</div>


<div>[ 93%] Building C object CMakeFiles/Pharo.dir/C_/MinGW/msys/1.0/home/Philippe/ph</div><div>aro-vm/platforms/win32/vm/sqWin32Utils.c.obj</div><div>In file included from C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/Cross/v</div>


<div>m/sq.h:193:0,</div><div>                 from c:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/v</div><div>m/sqWin32Utils.c:14:</div><div>C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/vm/sqPlatformSpecific.h</div>


<div>:52:0: warning: &quot;VM_EXPORT&quot; redefined [enabled by default]</div><div> #  define VM_EXPORT __declspec( dllexport )</div><div> ^</div><div>In file included from c:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/win32/v</div>


<div>m/sqWin32Utils.c:14:0:</div><div>C:/MinGW/msys/1.0/home/Philippe/pharo-vm/platforms/Cross/vm/sq.h:48:0: note: thi</div><div>s is the location of the previous definition</div><div> #define VM_EXPORT</div></div><div><br>


</div><div>Phil</div>
</div>
<br></blockquote></div><br></div></div>