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