<div dir="ltr">Great news.<br><br>I briefly tried sockets on XP Pro SP3 at work trying to connect to my local web server and got the following:<br><br>C:\>wx86cl<br>Welcome to Clozure Common Lisp Version 1.2-r11005M  (WindowsX8632)!<br>
? (make-socket :remote-host "localhost" :remote-port 80)<br>> Error: value 2147772030 is not of the expected type (SIGNED-BYTE 32).<br>> While executing: CCL::SET-SOCKET-FD-BLOCKING, in process listener(1).<br>
> Type :POP to abort, :R for a list of available restarts.<br>> Type :? for other options.<br>1 > :b<br>*(BC0BA0) : 0 (SET-SOCKET-FD-BLOCKING 3 NIL) 549<br> (BC0BD8) : 1 (C_CONNECT 3 #<A Foreign Pointer [stack-allocated] (:* #) #xAAFF38<br>
> 16 [...]) 183<br> (BC0C0C) : 2 (%SOCKET-CONNECT 3 #<A Foreign Pointer [stack-allocated] (:* #) #x<br>AAFF38> 16 [...]) 87<br> (BC0C24) : 3 (INET-CONNECT 3 16777343 20480 [...]) 439<br> (BC0C44) : 4 (MAKE-TCP-STREAM-SOCKET 3 [...]) 415<br>
 (BC0C78) : 5 (MAKE-TCP-SOCKET [...]) 503<br> (BC0CAC) : 6 (MAKE-SOCKET [...]) 695<br> (BC0DA0) : 7 (CALL-CHECK-REGS 'MAKE-SOCKET [...]) 247<br> (BC0DBC) : 8 (TOPLEVEL-EVAL '(MAKE-SOCKET :REMOTE-HOST "localhost" :REMOTE-PORT<br>
 80) [...]) 759<br> (BC0DFC) : 9 (READ-LOOP [...]) 1567<br> (BC0F00) : 10 (TOPLEVEL-LOOP) 79<br> (BC0F08) : 11 (FUNCALL #'#<(:INTERNAL (TOPLEVEL-FUNCTION (CCL::LISP-DEVELOPMENT<br>-SYSTEM T)))>) 87<br> (BC0F14) : 12 (FUNCALL #'#<(:INTERNAL CCL::MAKE-MCL-LISTENER-PROCESS)>) 575<br>
 (BC0F60) : 13 (RUN-PROCESS-INITIAL-FORM #<TTY-LISTENER listener(1) [Active] #x8<br>8FED06> '(#)) 671<br> (BC0FA4) : 14 (FUNCALL #'#<(:INTERNAL CCL::%PROCESS-PRESET-INTERNAL)> #<TTY-LIS<br>TENER listener(1) [Active] #x88FED06> '(#)) 335<br>
 (BC0FCC) : 15 (FUNCALL #'#<(:INTERNAL CCL::THREAD-MAKE-STARTUP-FUNCTION)>) 279<br>1 > :q<br>> Error: value 2147772030 is not of the expected type (SIGNED-BYTE 32).<br>> While executing: CCL::SET-SOCKET-FD-BLOCKING, in process listener(1).<br>
> Type :POP to abort, :R for a list of available restarts.<br>> Type :? for other options.<br>1 > :b<br>*(BC0BA8) : 0 (SET-SOCKET-FD-BLOCKING 3 T) 549<br> (BC0BE0) : 1 (C_CONNECT 3 #<A Foreign Pointer [stack-allocated] (:* #) #xAAFF38<br>
> 16 [...]) 135<br> (BC0C0C) : 2 (%SOCKET-CONNECT 3 #<A Foreign Pointer [stack-allocated] (:* #) #x<br>AAFF38> 16 [...]) 87<br> (BC0C24) : 3 (INET-CONNECT 3 16777343 20480 [...]) 439<br> (BC0C44) : 4 (MAKE-TCP-STREAM-SOCKET 3 [...]) 415<br>
 (BC0C78) : 5 (MAKE-TCP-SOCKET [...]) 503<br> (BC0CAC) : 6 (MAKE-SOCKET [...]) 695<br> (BC0DA0) : 7 (CALL-CHECK-REGS 'MAKE-SOCKET [...]) 247<br> (BC0DBC) : 8 (TOPLEVEL-EVAL '(MAKE-SOCKET :REMOTE-HOST "localhost" :REMOTE-PORT<br>
 80) [...]) 759<br> (BC0DFC) : 9 (READ-LOOP [...]) 1567<br> (BC0F00) : 10 (TOPLEVEL-LOOP) 79<br> (BC0F08) : 11 (FUNCALL #'#<(:INTERNAL (TOPLEVEL-FUNCTION (CCL::LISP-DEVELOPMENT<br>-SYSTEM T)))>) 87<br> (BC0F14) : 12 (FUNCALL #'#<(:INTERNAL CCL::MAKE-MCL-LISTENER-PROCESS)>) 575<br>
 (BC0F60) : 13 (RUN-PROCESS-INITIAL-FORM #<TTY-LISTENER listener(1) [Active] #x8<br>8FED06> '(#)) 671<br> (BC0FA4) : 14 (FUNCALL #'#<(:INTERNAL CCL::%PROCESS-PRESET-INTERNAL)> #<TTY-LIS<br>TENER listener(1) [Active] #x88FED06> '(#)) 335<br>
 (BC0FCC) : 15 (FUNCALL #'#<(:INTERNAL CCL::THREAD-MAKE-STARTUP-FUNCTION)>) 279<br>1 > :q<br>?<br><br>Barry<br><br><div class="gmail_quote">On Thu, Oct 9, 2008 at 3:28 AM, Gary Byers <span dir="ltr"><<a href="mailto:gb@clozure.com">gb@clozure.com</a>></span> wrote:<br>
<blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">32- and 64-bit versions of Clozure CL for Windows are now available in svn:<br>
<br>
<<a href="http://svn.clozure.com/publicsvn/openmcl/trunk/windows" target="_blank">http://svn.clozure.com/publicsvn/openmcl/trunk/windows</a>><br>
<br>
The 64-bit version's been available for a while; the 32-bit version's<br>
brand new (and still contains some known runtime bugs, along with all<br>
of the unknown ones.)  We only have a few (real or virtual) Windows<br>
boxes available, so it'd be helpful if people with (a) interest (b)<br>
some time and (c) access to real or virtual Windows boxes could<br>
take this for a ride around the block, kick the tires, etc.<br>
<br>
As of yesterday, the win32 version could compile itself successfully<br>
3 times out of 4 and crashed the 4th time.  The win64 version hasn't<br>
had a random unexpected crash in a few months, but AFAIK I've been<br>
the only person using it much.  As much as anything, it'd be interesting<br>
to see if this general impression (the win32 port is at the outer bounds<br>
if usability, the win64 port is generally a lot closer) is confirmed or<br>
refuted by other people's experience.<br>
<br>
Both version should run under XP or Vista (but almost certainly not under<br>
anything older than XP.)  XP is several years old now, and XP with a<br>
recent "service pack" is somewhat different from earlier version.  Most<br>
of the Win32 development's been done under a fairly recent (SP3) version<br>
of XP; it'd be interesting to know whether it works on eariler versions.<br>
<br>
The 64-bit version requires a 64-bit version of Windows (XP64, Vista 64.<br>
maybe some server OS versions.)  It's currently the case that the 32-bit<br>
version of CCL doesn't run under 64-bit OS releases.  We understand why<br>
it doesn't, and hope to remove this restriction ASAP.<br>
<br>
I don't use SLIME; I honestly don't know whether or not there are socket<br>
or other issues that'd prevent SLIME from working.  (If there are, please<br>
let us know and we'll try to give priority to fixing them.)<br>
<br>
Some things that we do know:<br>
<br>
- Windows has a very different model of file permissions and sharing<br>
   than Unix systems do.  On Unix, it's well-defined, meaningful, and<br>
   useful to (for instance) delete a file that you have open; Windows<br>
   generally doesn't allow that sort of thing.  (One consequence of this<br>
   is that calling REBUILD-CCL with any options that'd cause the kernel<br>
   to be rebuilt can't work the way things are currently implemented,<br>
   since the lisp kernel has been opened by the OS.)  There are other<br>
   consequences, some of which can be addressed and improved and some<br>
   of which can't: this is a very different OS.<br>
<br>
- Most Windows functions and utilities that deal with pathnames can<br>
   accept either forward or backward slashes as directory separators.<br>
   CCL pathname/namestring functions don't (yet) deal with backslashes<br>
   or with some other Windows namestring conventions.  (When a Windows<br>
   function returns a namestring, any backslashes in that namestring<br>
   are converted to forward slashes before lisp pathanme code sees it.)<br>
<br>
- The lisp kernel is built with the Cygwin tools (<a href="http://www.cygwin.com" target="_blank">www.cygwin.com</a>), though<br>
   we don't use any Cygwin libraries.  To build the 32-bit kernel, you'd<br>
   need (at least) the 'make', 'gcc', 'm4', 'mingw" and "w32api" packages<br>
   and their dependencies; the 64-bit kernel also needs a 64-bit toolchain<br>
   available from the mingw-w64 project:<br>
<br>
   <<a href="http://sourceforge.net/projects/mingw-w64/" target="_blank">http://sourceforge.net/projects/mingw-w64/</a>><br>
<br>
- We haven't done any work yet on Windows GUI programming (examples,<br>
   bridges, ...).  On Win32, there's at least on low-level FFI change<br>
   that'll be needed to support this (Win32 functions follow a "pascal-like"<br>
   calling sequence, in which the callee pops its arguments off of the<br>
   stack before returning.  The way that we do foreign function calls, I<br>
   don't think that we care about this, but I'm pretty sure that we<br>
   need to extend DEFCALLBACK to meet the caller's expectations.  (Perhaps<br>
   we should call that extension DEFPASCAL ...)<br>
<br>
Andreas Bogk did a lot of early work on the Win64 port, and the Win32<br>
version has gotten as far as it has as quickly as it has largely because<br>
Matt Emerson's ia32 compiler backend and runtime are as good as they are.<br>
<br>
Again and especially in the case of the 32-bit port, "as far as it's<br>
gotten" is "somewhere around the outer bounds of usability."  You'll<br>
likely find that it crashes in mysterious and non-repeatable ways (it's<br>
likely still on the wrong side of those outer bounds ...), and at this<br>
point the most interesting questions are "does it run at all?" and "if<br>
not, what OS version are you using ?".<br>
<br>
<br>
_______________________________________________<br>
Openmcl-devel mailing list<br>
<a href="mailto:Openmcl-devel@clozure.com">Openmcl-devel@clozure.com</a><br>
<a href="http://clozure.com/mailman/listinfo/openmcl-devel" target="_blank">http://clozure.com/mailman/listinfo/openmcl-devel</a><br>
</blockquote></div><br></div>