Eh, scratch that last crash. My erroneous book-keeping with registered locals.<div><br></div><div>Carry on...<br><br><div class="gmail_quote">On Mon, Sep 24, 2012 at 9:58 AM, Dan Liebgold <span dir="ltr">&lt;<a href="mailto:dan.liebgold@gmail.com" target="_blank">dan.liebgold@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div><br></div>Ok, that gets me past the missing collection exception. Now it crashes inside libracket3m_8bh1a8.dll. Here&#39;s the callstack... this is the stock 5.3 distribution so a stock map file may help:<div>
<br></div>
<div><div><font face="courier new, monospace">&gt;<span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f548983() <span style="white-space:pre-wrap">        </span></font></div><div>
<font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>[Frames below may be incorrect and/or missing, no symbols loaded for libracket3m_8bh1a8.dll]<span style="white-space:pre-wrap">        </span></font></div>

<div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f549ad1() <span style="white-space:pre-wrap">        </span></font></div><div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f6c5a34() <span style="white-space:pre-wrap">        </span></font></div>

<div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f6c5ab0() <span style="white-space:pre-wrap">        </span></font></div><div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f751e2f() <span style="white-space:pre-wrap">        </span></font></div>

<div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f751f6a() <span style="white-space:pre-wrap">        </span></font></div><div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f6e5675() <span style="white-space:pre-wrap">        </span></font></div>

<div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f5bea15() <span style="white-space:pre-wrap">        </span></font></div><div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f6bfd95() <span style="white-space:pre-wrap">        </span></font></div>

<div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f5c0028() <span style="white-space:pre-wrap">        </span></font></div><div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f5c03fe() <span style="white-space:pre-wrap">        </span></font></div>

<div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f5cb32e() <span style="white-space:pre-wrap">        </span></font></div><div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f66095f() <span style="white-space:pre-wrap">        </span></font></div>

<div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f660c4e() <span style="white-space:pre-wrap">        </span></font></div><div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f66cd83() <span style="white-space:pre-wrap">        </span></font></div>

<div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f66d146() <span style="white-space:pre-wrap">        </span></font></div><div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f642566() <span style="white-space:pre-wrap">        </span></font></div>

<div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f657a93() <span style="white-space:pre-wrap">        </span></font></div><div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f666cc9() <span style="white-space:pre-wrap">        </span></font></div>

<div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f66a2a7() <span style="white-space:pre-wrap">        </span></font></div><div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f66affd() <span style="white-space:pre-wrap">        </span></font></div>

<div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f66b0d2() <span style="white-space:pre-wrap">        </span></font></div><div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>dctest.exe!run(Scheme_Env * e, int argc, char * * argv)  Line 48 + 0xc bytes<span style="white-space:pre-wrap">        </span>C++</font></div>

<div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f55baa3() <span style="white-space:pre-wrap">        </span></font></div><div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f55d9a5() <span style="white-space:pre-wrap">        </span></font></div>

<div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f55da46() <span style="white-space:pre-wrap">        </span></font></div><div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>libracket3m_8bh1a8.dll!0f55df3a() <span style="white-space:pre-wrap">        </span></font></div>

<div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>dctest.exe!main(int argc, char * * argv)  Line 58 + 0x17 bytes<span style="white-space:pre-wrap">        </span>C++</font></div>
<div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>dctest.exe!__tmainCRTStartup()  Line 555 + 0x19 bytes<span style="white-space:pre-wrap">        </span>C</font></div>
<div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>dctest.exe!mainCRTStartup()  Line 371<span style="white-space:pre-wrap">        </span>C</font></div><div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>kernel32.dll!75b1339a() <span style="white-space:pre-wrap">        </span></font></div>

<div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>ntdll.dll!771d9ef2() <span style="white-space:pre-wrap">        </span></font></div><div><font face="courier new, monospace"> <span style="white-space:pre-wrap">        </span>ntdll.dll!771d9ec5() <span style="white-space:pre-wrap">        </span></font></div>

<div><br></div><div>I changed the code to register all Scheme_Objects in the collector, but same result...</div><div><br></div><div>Thanks,</div><div>Dan</div><div><div class="h5"><br><div class="gmail_quote">On Sat, Sep 22, 2012 at 6:04 AM, Matthew Flatt <span dir="ltr">&lt;<a href="mailto:mflatt@cs.utah.edu" target="_blank">mflatt@cs.utah.edu</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">The &quot;%RACKETDIR%&quot; in scheme_make_path() isn&#39;t going to get expanded as<br>
an environment variable. You&#39;ll have to use getenv() directly:<br>
<br>
 a[0] = scheme_make_path(getenv(&quot;RACKETDIR&quot;));<br>
 a[1] = scheme_make_path(&quot;collects&quot;);<br>
 Scheme_Object * collectPath = scheme_build_path(2, a);<br>
 Scheme_Object * collectPathList = scheme_build_list(1, &amp;collectPath);<br>
 scheme_init_collection_paths(e, collectPathList);<br>
<div><div><br>
<br>
At Fri, 21 Sep 2012 16:42:23 -0700, Dan Liebgold wrote:<br>
&gt; I&#39;m having a terrible time trying to embed Racket 5.3 in a C++ program.<br>
&gt; Please take a look at <a href="https://gist.github.com/3764529" target="_blank">https://gist.github.com/3764529</a> and tell me where I&#39;m<br>
&gt; going wrong.<br>
&gt;<br>
&gt; This is the output I get:<br>
&gt;<br>
&gt; racket/base: standard-module-name-resolver: collection not found<br>
&gt;   collection: &quot;racket&quot;<br>
&gt;   in collection directories:<br>
&gt;    C:\Users\danl\AppData\Roaming\Racket\5.3\collects<br>
&gt;   in: racket/base<br>
&gt;   context...:<br>
&gt;    standard-module-name-resolver<br>
&gt;<br>
&gt;<br>
&gt; RACKETDIR environment variable is defined properly (and not to the path in<br>
&gt; the output.) Any ideas?<br>
&gt;<br>
&gt; --<br>
&gt; Dan Liebgold    [<a href="mailto:dan.liebgold@gmail.com" target="_blank">dan.liebgold@gmail.com</a>]<br>
</div></div>&gt; _________________________<br>
&gt;   Racket Developers list:<br>
&gt;   <a href="http://lists.racket-lang.org/dev" target="_blank">http://lists.racket-lang.org/dev</a><br>
</blockquote></div><br><br clear="all"><div><br></div></div></div><span class="HOEnZb"><font color="#888888">-- <br>Dan Liebgold    [<a href="mailto:dan.liebgold@gmail.com" target="_blank">dan.liebgold@gmail.com</a>]<br>

</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Dan Liebgold    [<a href="mailto:dan.liebgold@gmail.com">dan.liebgold@gmail.com</a>]<br>
</div>