<br><br><div class="gmail_quote">On Fri, Apr 22, 2011 at 2:33 PM, Stefan Marr <span dir="ltr">&lt;<a href="mailto:squeak@stefan-marr.de" target="_blank">squeak@stefan-marr.de</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">

Hi Mariano:<br>
<br>
Sorry, my mail client makes a mess out of your emails, proper quoting seems impossible.<br>
<div><br>
<br>
On 22 Apr 2011, at 14:04, Mariano Martinez Peck wrote:<br>
<br>
&gt; Yes. This is because thelastes unstable PharoCore was really *unstable*, and hence the problem. This is why in the first post (&quot;Building the VM from scratch using Git and CMakeVMMaker&quot;) I say explicitly which pharo image to use (to avoid problems like this one).<br>


&gt; Pharo guys want to be sure that Hudson can always buid the VM, and if it doesn&#39;t (like in this case), be able to detect it and fix it ASAP.<br>
</div>That does not help anyone who uses the snipped you provided as a &#39;summary&#39;. Perhaps it would be a better idea to stick with fixed links for such blog posts.<br>
<div><br></div></blockquote><div><br>Thanks. It is a good idea. Next posts I will use a fixed image.<br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">

<div>
<br>
&gt; what was not clear in particular ?<br>
</div>From your posts, I have the feeling that at least the naming scheme is inconsistent.<br></blockquote><div><br>Yes, it is. I agree. <br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">


In case CocoaIOSCogConfig is supposed to be an abstract class, then it should tell me that.<br></blockquote><div><br>agree<br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex">


And it is not clear form the blog post that only *StackConfig and *JitConfig classes are meant to be used. Thats all I am saying.<br>
<div><br></div></blockquote><div><br>Ahh now I see...Yes true. In addition, cococa configs say *Git* in the name, while the rest say Cog. And some OS have some more debug configs that other ones. There are several things that are inconsistent. <br>

All these CMakeVMMaker is all new, and it was done in a very little time. It has improved a lot of things, but still a lot of things can be improved. No doubt about it. <br>As said...any help is more than welcome, even simple things like submitting a class comment. <br>

 </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex"><div>
<br>
&gt;<br>
&gt; Ok, next problem:<br>
&gt;<br>
&gt; You customize the following properties:<br>
&gt;<br>
&gt; resourcesDir:&#39;/Users/mariano/Pharo/vm/git/cogVM2/blessed/macbuild/resources&#39;;<br>
&gt; outputDir: &#39;/Users/mariano/binaries/results&#39;;<br>
&gt;<br>
&gt; but they do not seem to exist.<br>
&gt;<br>
&gt; That was an example just to show that you can customize them and set the directories to whatever place you want.<br>
&gt; I&#39;ve added a comment. Anyway, using the &quot;default&quot; behavior (copying the image to a subdirectory of /blessed), you should have not that problem.<br>
</div>The thing is, in the version of the code that gets loaded by the snippets your provide there is nothing like #resourcesDir: and #outputDir: in the whole image.<br>
Again that is all based on following the snippets in this post:<br>
<div><a href="http://marianopeck.wordpress.com/2011/04/16/building-the-vm-second-part/" target="_blank">http://marianopeck.wordpress.com/2011/04/16/building-the-vm-second-part/</a><br>
<br></div></blockquote><div><br>Ahhh good catch. Sorry. It seems the latest version of ConfigurationOfCog points to 1.7, which has an &quot;old&quot; version of CMakeVMMaker that does not include those selectors.<br>Loading the last version of the package CMakeVMMaker should work.<br>
In addition, I&#39;ve just create a ConfigurationOfCog version 1.8 which has the latest VMMaker and CMakeVMMaker package. However, since I tag it as development you have to load it explicitly with:<br><br>(ConfigurationOfCog project version: &#39;1.8&#39;) load<br>
or<br>ConfigurationOfCog projec lastVersion load<br>
<br><br> </div><blockquote class="gmail_quote" style="margin:0pt 0pt 0pt 0.8ex;border-left:1px solid rgb(204, 204, 204);padding-left:1ex"><div>
</div>All I say here is, that the snippets are buggy/inconsistent with respect to what you provide in the post.<br>
<div><br>
<br>
<br>
<br>
<br>
&gt;<br>
&gt;<br>
&gt;<br>
&gt; Ok, lets continue without them.<br>
&gt;<br>
&gt; Still undecided what I want, I go with CocoaIOSCogConfig:<br>
&gt;<br>
&gt; CocoaIOSCogStackConfig new<br>
&gt;  srcDir: &#39;/tmp/make-squeak-vm/squeak-src&#39;;<br>
&gt;  platformsDir: &#39;/tmp/make-squeak-vm/from_squeak&#39;;<br>
&gt;  buildDir: &#39;/tmp/make-squeak-vm/build&#39;;<br>
&gt;  generateSources;<br>
&gt;  generate.<br>
&gt;<br>
&gt; That fails with a very inappropriate error: primCreateDirectory: failed.<br>
&gt;<br>
&gt;<br>
&gt; I am not sure why that problem. But this is something expected. In order to customize the paths, you may have such problems.<br>
&gt; Again, if you don&#39;t want to face such problems use the default behavior. And if you find a problem, and have a solution, please submit it.<br>
<br>
&gt; *sigh* lets see what&#39;s going on:<br>
&gt; &gt;  self primCreateDirectory: (self fullNameFor: localFileName) asVmPathName<br>
&gt;  inspecting &#39;(self fullNameFor: localFileName) asVmPathName&#39; reveals &#39;/${topDir}&#39; *sigh*<br>
<br>
</div>Sorry, my fault. The code I was executing did use CocoaIOSCogConfig instead of CocoaIOSCogStackConfig.<br>
And then again, it fails with an error which looks like some parameter was not probably setup.<br>
However, that is not a problem when the concrete class CocoaIOSCogStackConfig is used.<br>
<br></blockquote><div><br>Good. <br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Again, all I say here is: make CocoaIOSCogConfig abstract and do not fail with strange errors nobody knows where they come from.<br>
<br></blockquote><div><br>Good. I will try to open a bug ticket for that. <br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">
Bye the way, my contribution is all this feedback. If you think that is not valuable, and not worth to be considered, well, then it might at least help someone who is googling for advice.<br>
<div><br></div></blockquote><div><br>It is more than valuable. This is why I am answering and updating as much as I can. My time, as yours, and as everybody is limited. So..I will try to do as much as my time let me. <br>
<br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div>
<br>
<br>
&gt;<br>
&gt; You should point platformsDir: to the platforms directory of the &quot;platform code&quot;.<br>
</div>Why? It does not seem to influence what code is generated at all.<br>
If there is a technical reason why I can&#39;t just point it to a directory where I know that eventually the code will be that belongs there, then please tell me.<br>
</blockquote><div><br>I don&#39;t know why, probably Dave or someone can tell you (I would create a new thread for that) but it seems that the class VMMaker (the one used to generate the C code), requires the paltforms directory.  Check VMMAker #platformRootDirectoryName: aString<br>
Why it is needed?  i have no idea.    <br> <br> </div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;">Otherwise, I think it is a bug, and instead of failing, it should give me a warning and allow me to proceed:<br>

   Because I know Exactly What I am Doing (TM)<br>
<div><br>
&gt; Conclusion for your last problems: use the default/recommended approach:  copy your image to a subdirectory where you downloaded git. And all paths will be set automatically. The only thing you have to do is XXXConf generateWithSources.<br>


&gt; And, if you want to use specific paths, then send a clear mail to the mailing lsit, with a way to reproduce it and hopefully someone will fix it.<br>
</div>Again: why can&#39;t I set platformsDir to a path of my chose, which *eventually* will contain the right code? The code generation does not seem to depend on it.<br>
<div><div></div><div><br></div></div></blockquote><div><br>Maybe you are right, I don&#39;t know. So...you are saying that sending the #platformRootDirectoryName:   from CMakeVMMaker is not necessary ?<br>I would love not to depend in the &quot;platforms&quot; directory while generating sources. <br>
 <br>Best regards,<br><br>mariano<br><br><br></div><blockquote class="gmail_quote" style="margin: 0pt 0pt 0pt 0.8ex; border-left: 1px solid rgb(204, 204, 204); padding-left: 1ex;"><div><div>
Best regards<br>
Stefan<br>
<br>
<br>
--<br>
Stefan Marr<br>
Software Languages Lab<br>
Vrije Universiteit Brussel<br>
Pleinlaan 2 / B-1050 Brussels / Belgium<br>
<a href="http://soft.vub.ac.be/%7Esmarr" target="_blank">http://soft.vub.ac.be/~smarr</a><br>
Phone: <a href="tel:%2B32%202%20629%202974" value="+3226292974" target="_blank">+32 2 629 2974</a><br>
Fax:   <a href="tel:%2B32%202%20629%203525" value="+3226293525" target="_blank">+32 2 629 3525</a><br>
<br>
</div></div></blockquote></div><br><br clear="all"><br>-- <br>Mariano<br><a href="http://marianopeck.wordpress.com" target="_blank">http://marianopeck.wordpress.com</a><br><br>