<br><br><div class="gmail_quote">On Fri, May 4, 2012 at 4:04 PM, Colin Putney <span dir="ltr">&lt;<a href="mailto:colin@wiresong.com" target="_blank">colin@wiresong.com</a>&gt;</span> wrote:<br><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
 <br>Hi folks,<br>
<br>
As was mentioned in the Squeak Board minutes, I&#39;ve been working on<br>
getting Squeak running on SmartOS. (SmartOS is a newish distribution<br>
of Illumos, which is a fork of OpenSolaris, which is apparently no<br>
longer open, now that Oracle owns it. Anyway, it&#39;s a flavour of<br>
Solaris.)<br>
<br>
Attached is a patch that lets me build the VM and open an image in a<br>
SmartOS zone.<br>
<br>
I ran into a few issues, which I&#39;ll detail below:<br>
<br>
1) I tried to do a proper autoconf check for the existence of headers<br>
such as &lt;sys/sockio.h&gt; and &lt;sys/ucontext.h&gt;, but I ran afoul of very<br>
strange behaviour from the libtool script that my regenerated<br>
configure script created. (Geez, how many levels of code generation do<br>
these GNU guys think is healthy?) I was able to create the config.h<br>
file that I wanted, but then linking didn&#39;t work anymore. For now I&#39;ve<br>
just used the __sun__ preprocessor definition (apparently<br>
automatically defined by the compiler) for conditional compilation.<br>
<br>
2) It looks like the image runs ok, but when I try to connect a VNC<br>
client (SmartOS has no GUI), the VM receives a SIGPOLL/SIGIO signal<br>
and exits. Fixing that probably requires more significant changes than<br>
I&#39;ve made so far, so if anybody has suggestions on how to tackle it,<br>
I&#39;d love to hear them.<br></blockquote><div><br></div><div>You at least need to establish a signal handler for SIGIO (should be done in platforms/unix/vm/aio.c).  Or it could be that the signal handler is one-shot, and on the second SIGPOLL/SIGIO the VM quits.  You need the signal handler for sigaction to not be one-shot, which you&#39;d control by using sigaction instead of the simple signal in aio.c.  check the manual page for signal and sigaction and see what they say about SA_RESETHAND.</div>
<div><br></div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
If there&#39;s some other method of submitting the patch that would be<br>
more convenient of the maintainers, I&#39;m happy to do that instead.<br></blockquote><div><br></div><div>A tar of the changed files as well as patch is as good as it gets I think.</div><div><br></div><div>Ta!</div><div>
 </div><blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">
<br>
Colin<br>
<br></blockquote></div><br><br clear="all"><div><br></div>-- <br>best,<div>Eliot</div><br>