<div dir="ltr"><div class="gmail_extra">Thank you David,<br></div><div class="gmail_extra">Thank you Eliot<br></div><div class="gmail_extra"><br><div class="gmail_quote">2014-09-28 21:24 GMT+02:00 Eliot Miranda <span dir="ltr">&lt;<a href="mailto:eliot.miranda@gmail.com" target="_blank">eliot.miranda@gmail.com</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex"><br>
Hi Nicolai,<br>
<span class=""><br>
On Sep 28, 2014, at 2:19 AM, Nicolai Hess &lt;<a href="mailto:nicolaihess@web.de">nicolaihess@web.de</a>&gt; wrote:<br>
<br>
&gt; Who is the maintainer of the FFI-Package for<br>
&gt; Squeak and/or Pharo ?<br>
<br>
</span>I guess I&#39;m the de facto maintainer because I&#39;m the one who has changed things most recently, reimplementing the FFI plugin via the ThreadedFFIPlugin.<br>
<span class=""><br>
<br>
&gt; I especially interested in the FFI-Unix examples<br>
&gt;  and the state on working FFI on linux for current squeak release<br>
&gt; (AFAIK it does not work with &quot;squeak all in one&quot; 4.5)<br>
<br>
</span>Can you give me a reproducible case?  I&#39;d this with a Cog,Stack or Interpreter VM?  Which specific things fail and how?<br></blockquote><div><br>Image<br>-----<br>/home/nicolai/Downloads/Squeak-4.5-All-in-One.app/Contents/Resources/Squeak4.5-13680.image<br>Squeak4.5<br>latest update: #13680<br>Current Change Set: Unnamed1<br>Image format 6505 (32 bit)<br><br>Virtual Machine<br>---------------<br>/home/nicolai/Downloads/Squeak-4.5-All-in-One.app/Contents/Linux-i686/lib/squeak/4.0-2776/squeak<br>Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.331]<br>Unix built on Aug 22 2013 10:35:37 Compiler: 4.1.2 20080704 (Red Hat 4.1.2-48)<br>platform sources revision VM: r2776 <a href="http://www.squeakvm.org/svn/squeak/branches/Cog">http://www.squeakvm.org/svn/squeak/branches/Cog</a> Plugins: r2545 <a href="http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins">http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins</a><br>CoInterpreter VMMaker.oscog-eem.331 uuid: 37d2e4b0-2f37-4e2d-8313-c63637785e59 Aug 22 2013<br>StackToRegisterMappingCogit VMMaker.oscog-eem.333 uuid: 84da9cb8-7f30-4cb7-b4fb-239a11f63b54 Aug 22 2013<br><br></div><div>Load<br>Name: FFI-Pools-eem.3<br></div><div>Name: FFI-Kernel-eem.26<br></div><div>Name: FFI-Tests-djm.7<br><br></div><div>Run FFI-Test -&gt; 32 run, 24 passes, 0 expected failures, 0 failures, 8 errors, 0 unexpected passes<br></div><div><br></div><div>Load <br>Name: FFI-Unix-mtf.4<br> <br></div><div>run X11Display class&gt;&gt;#coloredRectangles<br></div><div>-&gt; Error: Could not coerse arguments<br><br></div><div>Load newer cogvm<br>Virtual Machine<br>---------------<br>/media/Programs/squeak/Squeak-4.5-All-in-One.app/coglinux/lib/squeak/4.0-2987/squeak<br>Croquet Closure Cog VM [CoInterpreter VMMaker.oscog-eem.746]<br>Unix built on Jun 11 2014 14:59:18 Compiler: 4.1.2 20080704 (Red Hat 4.1.2-48)<br>platform sources revision VM: r2987 <a href="http://www.squeakvm.org/svn/squeak/branches/Cog">http://www.squeakvm.org/svn/squeak/branches/Cog</a> Date: 2014-06-11 14:26:16 -0700 Plugins: r2954 <a href="http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins">http://squeakvm.org/svn/squeak/trunk/platforms/Cross/plugins</a><br>CoInterpreter VMMaker.oscog-eem.746 uuid: cc4961d3-e629-4e28-b308-88eab314a8c9 Jun 11 2014<br>StackToRegisterMappingCogit VMMaker.oscog-eem.766 uuid: 3045c341-cfbf-494c-a7b1-fb29c26a7340 Jun 11 2014<br><br>Run FFI-Test -&gt; 32 run, 32 passes, 0 expected failures, 0 failures, 0 errors, 0 unexpected passes<br><br><br>The error in FFI-Unix is strange. The last package comment from <br>Name: FFI-Unix-mtf.4<br>Author: mtf<br>is<br>&quot;made the XLib examples actually work (Window is an unsigned int handle, not a struct)&quot;<br><br></div><div>That the window is an int handle and not a struct explains why this version replaces the parent class<br></div><div>of XDrawable from ExternalStructur to Object. But all calls with an XDrawable still have this<br></div><div>object as parameter ( and not its instance var &quot;xid&quot;). I don&#39;t understand how this ever<br>worked (or was there some kind of automatic argument conversion like:<br></div><div>transform an object with an instvar -&gt; a int, if the function expects an int handle?)<br><br></div><div>Sure we can replace all XDrawable arguments in X11 calls from &quot;aXDrawable&quot; to &quot;aXDrawable xid&quot;.<br></div><div>But I only wonder, did this ever work and if Author &quot;mtf&quot; did the last change, can I contact<br></div><div>him or is he still maintaining the FF-Unix examples?<br></div><div><br></div><br><div><br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
&gt;<br>
&gt; regards<br>
&gt; Nicolai<br>
<br>
Eliot (phone)</blockquote></div><br></div></div>