Hi!<br><br>I&#39;ve downloaded version 3.8 of ConfigurationOfCog on Pharo 1.4, and when sending #topDir: to a CogWindowsConfig instance, I get a primitive failed error:<br>
<div><br></div><div><div>PrimitiveFailed: primitive #primCreateDirectory: in DosFileDirectory failed</div><div>25 January 2012 7:24:30 pm</div><div><br></div><div>VM: Win32 - IX86 - 5.1 - CoInterpreter VMMaker.oscog-eem.140 uuid: 2487009c-2c13-4609-b89e-77f0e195f433 Dec 12 2011, StackToRegisterMappingCogit VMMaker.oscog-eem.139 uuid: c2849383-9768-4948-b9b2-a5c22d482b07 Dec 12 2011, r2522 <a href="http://www.squeakvm.org/svn/squeak/branches/Cog">http://www.squeakvm.org/svn/squeak/branches/Cog</a></div>
<div>Image: Pharo1.4a [Latest update: #14296]</div><div><br></div><div>DosFileDirectory(Object)&gt;&gt;primitiveFailed:</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Receiver: DosFileDirectory on &#39;&#39;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>Arguments and temporary variables: </div><div><span class="Apple-tab-span" style="white-space:pre">                </span>selector: <span class="Apple-tab-span" style="white-space:pre">        </span>#primCreateDirectory:</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>Receiver&#39;s instance variables: </div><div><span class="Apple-tab-span" style="white-space:pre">                </span>pathName: <span class="Apple-tab-span" style="white-space:pre">        </span>FilePath(&#39;&#39;)</div>
<div><br></div><div><br></div><div>DosFileDirectory(Object)&gt;&gt;primitiveFailed</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Receiver: DosFileDirectory on &#39;&#39;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Arguments and temporary variables: </div>
<div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Receiver&#39;s instance variables: </div><div><span class="Apple-tab-span" style="white-space:pre">                </span>pathName: <span class="Apple-tab-span" style="white-space:pre">        </span>FilePath(&#39;&#39;)</div>
<div><br></div><div><br></div><div>DosFileDirectory(FileDirectory)&gt;&gt;primCreateDirectory:</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Receiver: DosFileDirectory on &#39;&#39;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Arguments and temporary variables: </div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>fullPath: <span class="Apple-tab-span" style="white-space:pre">        </span>&#39;\\MinGW&#39;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Receiver&#39;s instance variables: </div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>pathName: <span class="Apple-tab-span" style="white-space:pre">        </span>FilePath(&#39;&#39;)</div><div><br></div><div><br></div><div>DosFileDirectory(FileDirectory)&gt;&gt;createDirectory:</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>Receiver: DosFileDirectory on &#39;&#39;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Arguments and temporary variables: </div><div>
<span class="Apple-tab-span" style="white-space:pre">                </span>localFileName: <span class="Apple-tab-span" style="white-space:pre">        </span>&#39;\\MinGW&#39;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Receiver&#39;s instance variables: </div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>pathName: <span class="Apple-tab-span" style="white-space:pre">        </span>FilePath(&#39;&#39;)</div><div><br></div><div><br></div><div>DosFileDirectory(FileDirectory)&gt;&gt;assureExistenceOfPath:</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>Receiver: DosFileDirectory on &#39;&#39;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Arguments and temporary variables: </div><div>
<span class="Apple-tab-span" style="white-space:pre">                </span>lPath: <span class="Apple-tab-span" style="white-space:pre">        </span>&#39;\\MinGW&#39;</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>localPath: <span class="Apple-tab-span" style="white-space:pre">        </span>&#39;\\MinGW&#39;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>Receiver&#39;s instance variables: </div><div><span class="Apple-tab-span" style="white-space:pre">                </span>pathName: <span class="Apple-tab-span" style="white-space:pre">        </span>FilePath(&#39;&#39;)</div>
<div><br></div><div><br></div><div>DosFileDirectory(FileDirectory)&gt;&gt;assureExistenceOfPath:</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Receiver: DosFileDirectory on &#39;\\MinGW&#39;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>Arguments and temporary variables: </div><div><span class="Apple-tab-span" style="white-space:pre">                </span>lPath: <span class="Apple-tab-span" style="white-space:pre">        </span>&#39;msys&#39;</div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>localPath: <span class="Apple-tab-span" style="white-space:pre">        </span>&#39;msys&#39;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Receiver&#39;s instance variables: </div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>pathName: <span class="Apple-tab-span" style="white-space:pre">        </span>FilePath(&#39;\\MinGW&#39;)</div><div><br></div><div><br></div><div>DosFileDirectory(FileDirectory)&gt;&gt;assureExistenceOfPath:</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>Receiver: DosFileDirectory on &#39;\\MinGW\msys&#39;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Arguments and temporary variables: </div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>lPath: <span class="Apple-tab-span" style="white-space:pre">        </span>&#39;1.0&#39;</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>localPath: <span class="Apple-tab-span" style="white-space:pre">        </span>&#39;1.0&#39;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>Receiver&#39;s instance variables: </div><div><span class="Apple-tab-span" style="white-space:pre">                </span>pathName: <span class="Apple-tab-span" style="white-space:pre">        </span>FilePath(&#39;\\MinGW\msys&#39;)</div>
<div><br></div><div><br></div><div>DosFileDirectory(FileDirectory)&gt;&gt;assureExistenceOfPath:</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Receiver: DosFileDirectory on &#39;\\MinGW\msys\1.0&#39;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>Arguments and temporary variables: </div><div><span class="Apple-tab-span" style="white-space:pre">                </span>lPath: <span class="Apple-tab-span" style="white-space:pre">        </span>&#39;home&#39;</div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>localPath: <span class="Apple-tab-span" style="white-space:pre">        </span>&#39;home&#39;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Receiver&#39;s instance variables: </div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>pathName: <span class="Apple-tab-span" style="white-space:pre">        </span>FilePath(&#39;\\MinGW\msys\1.0&#39;)</div><div><br></div><div><br></div><div>DosFileDirectory(FileDirectory)&gt;&gt;assureExistenceOfPath:</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>Receiver: DosFileDirectory on &#39;\\MinGW\msys\1.0\home&#39;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Arguments and temporary variables: </div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>lPath: <span class="Apple-tab-span" style="white-space:pre">        </span>&#39;Guille&#39;</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>localPath: <span class="Apple-tab-span" style="white-space:pre">        </span>&#39;Guille&#39;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>Receiver&#39;s instance variables: </div><div><span class="Apple-tab-span" style="white-space:pre">                </span>pathName: <span class="Apple-tab-span" style="white-space:pre">        </span>FilePath(&#39;\\MinGW\msys\1.0\home&#39;)</div>
<div><br></div><div><br></div><div>DosFileDirectory(FileDirectory)&gt;&gt;assureExistenceOfPath:</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Receiver: DosFileDirectory on &#39;\\MinGW\msys\1.0\home\Guille&#39;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>Arguments and temporary variables: </div><div><span class="Apple-tab-span" style="white-space:pre">                </span>lPath: <span class="Apple-tab-span" style="white-space:pre">        </span>&#39;cog&#39;</div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>localPath: <span class="Apple-tab-span" style="white-space:pre">        </span>&#39;cog&#39;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Receiver&#39;s instance variables: </div>
<div><span class="Apple-tab-span" style="white-space:pre">                </span>pathName: <span class="Apple-tab-span" style="white-space:pre">        </span>FilePath(&#39;\\MinGW\msys\1.0\home\Guille&#39;)</div><div><br></div><div><br></div>
<div>DosFileDirectory(FileDirectory)&gt;&gt;assureExistenceOfPath:</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>Receiver: DosFileDirectory on &#39;\\MinGW\msys\1.0\home\Guille\cog&#39;</div></div>
<div><br></div><div><br></div><div>I followed the error up to:</div><div><br></div><div><div>DosFileDirectory class&gt;&gt;privateFullPathForURI: aURI</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>| path |</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>path := aURI path unescapePercents.</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>&quot;Check for drive notation (a: etc)&quot;</div>
<div><span class="Apple-tab-span" style="white-space:pre">        </span>path size &gt; 1</div><div><span class="Apple-tab-span" style="white-space:pre">                </span>ifTrue: [</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>((path at: 3) = $:)</div>
<div><span class="Apple-tab-span" style="white-space:pre">                                </span>ifTrue: [path := path copyFrom: 2 to: path size]</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>ifFalse: [</div><div><span class="Apple-tab-span" style="white-space:pre">                                        </span>&quot;All other cases should be network path names (\\xxx\sdsd etc)&quot;</div>
<div><span class="Apple-tab-span" style="white-space:pre">                                        </span>path := &#39;/&#39; , path]].</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>^path copyReplaceAll: &#39;/&#39; with: self slash</div>
</div><div><br></div><div>Which seems not being resolving well a full path like &#39;c:\something\another\directory&#39; and is answering something like</div><div><br></div><div>&#39;\\MinGW\msys\1.0\home\Guille\cog\gpolito-cogvm&#39;</div>
<div><br></div><div>which then is treated as a relative path...</div><div><br></div><div>I&#39;ve done a temporary fix like this in my image so I can continue, but maybe someone has a little more knowledge on this class:</div>
<div><br></div><div><div>DosFileDirectory class&gt;&gt;privateFullPathForURI: aURI</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>| path |</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>path := aURI asString unescapePercents.</div>
<div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>&quot;Check for drive notation (a: etc)&quot;</div><div><span class="Apple-tab-span" style="white-space:pre">        </span>path size &gt; 1</div><div>
<span class="Apple-tab-span" style="white-space:pre">                </span>ifTrue: [</div><div><span class="Apple-tab-span" style="white-space:pre">                        </span>((path at: 2) = $:)</div><div><span class="Apple-tab-span" style="white-space:pre">                                </span>ifTrue: [path := path copyFrom: 1 to: path size]</div>
<div><span class="Apple-tab-span" style="white-space:pre">                                </span>ifFalse: [</div><div><span class="Apple-tab-span" style="white-space:pre">                                        </span>&quot;All other cases should be network path names (\\xxx\sdsd etc)&quot;</div>
<div><span class="Apple-tab-span" style="white-space:pre">                                        </span>path := &#39;/&#39; , path]].</div><div><br></div><div><span class="Apple-tab-span" style="white-space:pre">        </span>^path copyReplaceAll: &#39;/&#39; with: self slash</div>
</div><div><br></div><div>Guille</div>