<div dir="ltr"><div>Hi Yoshiki,<br></div>thanks for reporting, I&#39;ll try better...<br><br></div><div class="gmail_extra"><br><div class="gmail_quote">2016-08-01 0:48 GMT+02:00 Yoshiki Ohshima <span dir="ltr">&lt;<a href="mailto:Yoshiki.Ohshima@acm.org" target="_blank">Yoshiki.Ohshima@acm.org</a>&gt;</span>:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">I see you have some changes but it appears that evaluating the<br>
Installer do it goes into an infinite loop of #moduleName and<br>
#masOsxModuleName.<br>
<br>
(Thanks again!)<br>
<br>
On Sat, Jul 30, 2016 at 8:23 AM, Yoshiki Ohshima<br>
<div class="HOEnZb"><div class="h5">&lt;<a href="mailto:Yoshiki.Ohshima@acm.org">Yoshiki.Ohshima@acm.org</a>&gt; wrote:<br>
&gt; But some of TestLapackMatrix tests fail.  A few external functions<br>
&gt; cannot be found, it looks like.<br>
&gt;<br>
&gt; On Sat, Jul 30, 2016 at 7:55 AM, Yoshiki Ohshima<br>
&gt; &lt;<a href="mailto:Yoshiki.Ohshima@acm.org">Yoshiki.Ohshima@acm.org</a>&gt; wrote:<br>
&gt;&gt; Great!<br>
&gt;&gt;<br>
&gt;&gt; Before (I got into a meeting and then entered the &quot;Friday mode&quot;, I was<br>
&gt;&gt; going down the path of trying to call the Framework functions but<br>
&gt;&gt; copying files anyway was a simpler solution for now.<br>
&gt;&gt;<br>
&gt;&gt; Yes, I got all tests green.  Thank  you!<br>
&gt;&gt;<br>
&gt;&gt; On Fri, Jul 29, 2016 at 3:24 PM, Nicolas Cellier<br>
&gt;&gt; &lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@<wbr>gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt; OK, what I did on my Mac:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; 1) look under the Squeak app and edit the Contents/Info.plist<br>
&gt;&gt;&gt; 2) change value of SqueakPluginsBuiltInOrLocalOnl<wbr>y to &quot;No&quot;<br>
&gt;&gt;&gt;    otherwise library loading is restricted to the Squeak app bundle<br>
&gt;&gt;&gt; 3) copy the veclib framework library files (dylib) in same directory as<br>
&gt;&gt;&gt; squeak image<br>
&gt;&gt;&gt; 4) launch Squeak<br>
&gt;&gt;&gt; 5) install Smallapack<br>
&gt;&gt;&gt;     follow instruction from<br>
&gt;&gt;&gt; <a href="https://github.com/nicolas-cellier-aka-nice/smallapack/wiki/SmallapackSqueak" rel="noreferrer" target="_blank">https://github.com/nicolas-<wbr>cellier-aka-nice/smallapack/<wbr>wiki/SmallapackSqueak</a><br>
&gt;&gt;&gt; 6) change CBlasLibrary class&gt;&gt;moduleName &#39;libcblas.dylib&#39; -&gt; &#39;libBlas.dylib&#39;<br>
&gt;&gt;&gt;     nowadays, cblas and blas are in the same dylib...<br>
&gt;&gt;&gt; 7) change CLapackLibrary class&gt;&gt;moduleName &#39;libclapack.dylib&#39; -&gt;<br>
&gt;&gt;&gt; &#39;libLapack.dylib&#39;<br>
&gt;&gt;&gt;     idem<br>
&gt;&gt;&gt; 8) re-initialize the cache (I know, I know, there are too many...)<br>
&gt;&gt;&gt;     CBlasLibrary install. CLapackLibrary install. LapackMatrix<br>
&gt;&gt;&gt; resetBlasInterfaces; resetLapackInterfaces.<br>
&gt;&gt;&gt; 9) run the TestCBlas suite<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; It should be green<br>
&gt;&gt;&gt; I will commit the changes later, and will probably implement moduleNames as<br>
&gt;&gt;&gt; a Preference (pragma oriented).<br>
&gt;&gt;&gt; No need to override code anymore :)<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; I think step 3) is necessary because of ioLoadModuleRaw() in<br>
&gt;&gt;&gt; platforms/iOS/vm/OSX/<wbr>sqMacUnixExternalPrims.m<br>
&gt;&gt;&gt; <a href="https://github.com/OpenSmalltalk/opensmalltalk-vm/blob/Cog/platforms/iOS/vm/OSX/sqMacUnixExternalPrims.m" rel="noreferrer" target="_blank">https://github.com/<wbr>OpenSmalltalk/opensmalltalk-<wbr>vm/blob/Cog/platforms/iOS/vm/<wbr>OSX/sqMacUnixExternalPrims.m</a><br>
&gt;&gt;&gt; It would only look those frameworks:<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;                 static char *frameworks[]=<br>
&gt;&gt;&gt;                 {<br>
&gt;&gt;&gt;                         &quot;&quot;,<br>
&gt;&gt;&gt;                         &quot;/CoreServices.framework/<wbr>Frameworks&quot;,<br>
&gt;&gt;&gt;                         &quot;/ApplicationServices.<wbr>framework/Frameworks&quot;,<br>
&gt;&gt;&gt;                         &quot;/Carbon.framework/Frameworks&quot;<wbr>,<br>
&gt;&gt;&gt;                         0<br>
&gt;&gt;&gt;                 };<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; But I did step 3) before I tried 1) + 2), adn did not retry, so maybe I&#39;m<br>
&gt;&gt;&gt; wrong...<br>
&gt;&gt;&gt; Scanning all the frameworks is not a solution. And what if we want a<br>
&gt;&gt;&gt; specific version?<br>
&gt;&gt;&gt; It would be far better to be able to specify the path to the library from<br>
&gt;&gt;&gt; within the image like VW...<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt; 2016-07-29 19:41 GMT+02:00 Nicolas Cellier<br>
&gt;&gt;&gt; &lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@<wbr>gmail.com</a>&gt;:<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; 2016-07-29 19:28 GMT+02:00 Nicolas Cellier<br>
&gt;&gt;&gt;&gt; &lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@<wbr>gmail.com</a>&gt;:<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; 2016-07-29 19:02 GMT+02:00 Yoshiki Ohshima &lt;<a href="mailto:Yoshiki.Ohshima@acm.org">Yoshiki.Ohshima@acm.org</a>&gt;:<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; First question:<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; The Mac OS comes with Accelerate.Framework and that contains BLAS.<br>
&gt;&gt;&gt;&gt;&gt;&gt; But probably I still should compile those libraries, right?<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt; No, it&#39;s better to link to accelerated library.<br>
&gt;&gt;&gt;&gt;&gt; I don&#39;t have a Mac handy here to verify how to link to it though.<br>
&gt;&gt;&gt;&gt;&gt; I&#39;ll be able to check latter in the evening<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; I&#39;ve downloaded the code, and I see it now: the library names are<br>
&gt;&gt;&gt;&gt; hardcoded (see implementors of moduleName).<br>
&gt;&gt;&gt;&gt; For Mac it is libblas.dylib and libcblas.dylib<br>
&gt;&gt;&gt;&gt; Also note that there is a preference for switching to cblas (blas<br>
&gt;&gt;&gt;&gt; functions with C interface).<br>
&gt;&gt;&gt;&gt; This should be faster because we pass some parameters by value rather than<br>
&gt;&gt;&gt;&gt; allocating them and pass reference...<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt; Module names could also be replaced by Preferences eventually, but by now,<br>
&gt;&gt;&gt;&gt; you&#39;ll have to override...<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; On Thu, Jul 28, 2016 at 4:11 PM, Yoshiki Ohshima<br>
&gt;&gt;&gt;&gt;&gt;&gt; &lt;<a href="mailto:Yoshiki.Ohshima@acm.org">Yoshiki.Ohshima@acm.org</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt; Thanks!<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt; On Thu, Jul 28, 2016 at 4:04 PM, Nicolas Cellier<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt; &lt;<a href="mailto:nicolas.cellier.aka.nice@gmail.com">nicolas.cellier.aka.nice@<wbr>gmail.com</a>&gt; wrote:<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt; Hi Yoshiki,<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt; Thanks for inquiring about Smallapack.<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt; This problem has been solved in 2011 as the post tells.<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt; Moreover, it was about alignment of squeak objects that was on<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt; multiple of 4<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt; on SqueakV3 memory.<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt; Spur is 8 byte aligned, so the problem would have also vanished<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt; without any<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt; patch for those being patient :)<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt; For the 15 arguments limit, Smallapack comes with it&#39;s own compiler,<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt; so it&#39;s<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt; a non issue.<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt; Maybe I should make the documentation more clear on<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt; <a href="https://github.com/nicolas-cellier-aka-nice/smallapack/wiki/SmallapackSqueak" rel="noreferrer" target="_blank">https://github.com/nicolas-<wbr>cellier-aka-nice/smallapack/<wbr>wiki/SmallapackSqueak</a><br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt; ?<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt; Unfortunately, there&#39;s no Sparse Matrix representation in Lapack.<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt; If you know of a good package for that, it could be integrated.<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt; If you have other questions, don&#39;t hesitate to ask.<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt; cheers<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt; Nicolas<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt; 2016-07-29 0:22 GMT+02:00 Yoshiki Ohshima &lt;<a href="mailto:Yoshiki.Ohshima@acm.org">Yoshiki.Ohshima@acm.org</a>&gt;:<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; I am trying to do a bit of linear algebra stuff that involves to<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; solve<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; a sparse 2D matrix (for a variation of doing least square fit).<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; There was a message from Nicolas:<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; <a href="http://lists.squeakfoundation.org/pipermail/squeak-dev/2011-August/161113.html" rel="noreferrer" target="_blank">http://lists.squeakfoundation.<wbr>org/pipermail/squeak-dev/2011-<wbr>August/161113.html</a><br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; Is this where it stands today, too?  It looks like that arg count<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; problem is still there in 5.0, but is it in a way non-issue as it is<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; still FFI based?<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; Thanks!<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt; -- Yoshiki<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt; --<br>
&gt;&gt;&gt;&gt;&gt;&gt; &gt; -- Yoshiki<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;&gt; --<br>
&gt;&gt;&gt;&gt;&gt;&gt; -- Yoshiki<br>
&gt;&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt;<br>
&gt;&gt; --<br>
&gt;&gt; -- Yoshiki<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; --<br>
&gt; -- Yoshiki<br>
<br>
<br>
<br>
</div></div><span class="HOEnZb"><font color="#888888">--<br>
-- Yoshiki<br>
<br>
</font></span></blockquote></div><br></div>