[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [Chicken-users] chickadee/spiffy error in windows
From: |
Peter Bex |
Subject: |
Re: [Chicken-users] chickadee/spiffy error in windows |
Date: |
Wed, 20 Nov 2013 23:45:14 +0100 |
User-agent: |
Mutt/1.4.2.3i |
On Wed, Nov 20, 2013 at 07:57:35AM +0000, Shanmuhanathan T wrote:
> Hi,
> I have installed chicken in windows7 using mingw-msys and am able to use it
> more less for my basic programming needs.
> When I installed chickeadee it installed without error but then serving, it
> does not return any content to the web browser; when I kill the server, I
> get the response in the browser.
Hi again,
You just discovered two separate problems. The first has to do with
nonblocking I/O being completely broken under MingW. I just posted a
patch to chicken-hackers for this. You can apply it to fix the problem
right away in your CHICKEN installation. This implies building from
source using your already-installed CHICKEN as a bootstrapping compiler.
The patch is attached to the following mail:
http://lists.nongnu.org/archive/html/chicken-hackers/2013-11/msg00099.html
If you don't want to build a custom patched CHICKEN, you could try
running CHICKEN under Cygwin, which works much better. Otherwise you'd
have to wait until the next stable release is made. We are currently
scrambling to fix many outstanding issues (on Windows in particular!)
for 4.9.0. We may push a 4.8.0.6 release sooner, but I'm not sure
right now if and when that will happen.
> bad argument type - not a structure of the required type
> #f
> request
This issue is due to a small mistake I made. I managed to tag a
version of intarweb which can signal unexpectedly closed connections,
but forgot that the current release of Spiffy does not expect it to
return #f when this happens, so it chokes on that. It's not really
a big error (at least, I think it isn't), but annoying enough that
I decided to tag Spiffy 5.2.1 which does not have this problem.
It should appear available for chicken-install shortly.
> Any help please? Is this meant to work in windows?
I found that there's another issue in Windows that you may run into:
intarweb relies on the POSIX unit's string->time for parsing various
HTTP headers involving dates. Unfortunately, on Windows string->time
just raises an error stating the procedure is not implemented.
That's because this procedure relies on strptime(), which is a
POSIX function not offered by Windows.
Currently there's no way to fix this except disabling these parsers
by removing their entries from header-parsers. The proper fix is
to help us find a way to parse dates in Windows and put that in the
core (hint: it's the posixwin.scm file).
This too works better on Cygwin: its libc contains a copy of glibc's(?)
strptime() implementation so everything Just Works(TM).
HTH,
Peter
--
http://www.more-magic.net