chicken-users
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

[Chicken-users] Windows problems


From: Krzysztof Kowalczyk
Subject: [Chicken-users] Windows problems
Date: Wed, 15 Jun 2005 12:04:02 -0700

I'm new to chicken and I just tried it under windows with the ultimate
goal being able to write windows gui apps in scheme. Here are my
experiences.

1. I was able to build 1.92 using VS 6 and VS 2003. However, when I
ran csc compiler driver I got:

C:\kjk\src\ext\langs\chicken-1.92>csc examples\hellowin.scm
'\chicken' is not recognized as an internal or external command,
operable program or batch file.
*** Shell command terminated with exit status 1: \chicken
examples\hellowin.scm -output-file examples\hellowin.c -quiet

Now I understand that I had to install chicken first i.e. copy chicken
files to some $chicken-dir and set CHICKEN_DIR=$chicken-dir, but I
figured this out only after long time.  No documentation I could find
(files provided with source code or manual/faq on the web page)
explains how to install chicken on windows.

It would also be nice if csc would detect that CHICKEN_HOME is not set
and display proper error message, e.g.:
"CHICKEN_HOME environment variable is not set. chicken doesn't seem to
be properly installed. Please read [$url | INSTALL.windows] for
instructions on how to install chicken on Windows" and then provide
the docs under this $url and/or INSTALL.windows file.

2. It would be nice if there was an install.bat $path script or
install target in makefile.vc. I understand that it's just a matter of
copying some files to a directory where I want to install chicken, but
being new to chicken I don't know what those files are. And it would
be so much more convenient if there was a script to do it in the
distro.

3. It would be nice if csc driver was smart enough so that I could use
it build windows programs i.e. just by doing "csc
examples\hellowin.scm -windows" (vs. writing a custom makefile). For
that there would have to be a way to specify the libs against which
progam needs to link directly in scheme source. We could also get rid
of "-windows" flag if there was a way to specify that within scheme
source in some way.

4. chicken 1.935 doesn't build on windows. There are many linker errors like:

srfi-1.obj : warning LNK4049: locally defined symbol
@address@hidden imported

and compilation finally dies with:

        cl /nologo /O2 /DC_DEFAULT_TARGET_STACK_SIZE=300000
/DC_NO_PIC_NO_DLL /DHAVE_LOADLIBRARY /DHAVE_GETPROCADDRESS /
DHAVE_WINDOWS_H /c scheduler.c /DC_BUILDING_LIBCHICKEN /Foscheduler.obs
scheduler.c
        extras.obs format.obs match-support.obs lolevel.obs
tinyclos.obs pregexp.obs utils.obs  tcp.obs posixwin.obs srf
i-1.obs srfi-4.obs srfi-13.obs srfi-14.obs srfi-18.obs srfi-25.obs srfi-37.obs
'extras.obs' is not recognized as an internal or external command,
operable program or batch file.
NMAKE : fatal error U1077: 'extras.obs' : return code '0x1'
Stop.

The problem is that some targets in makefile.vc were missing "\" at
the end of the line. This is fixed in darcs repository, but still the
latest chicken snapshot doesn't build on windows.

4. This is a weird problem. I also tried building 1.92 using VS 2005
beta2 and compilation never finishes i.e. it doesn't crash, it doesn't
kill the system, but it does eats cpu and just spins (I left it
running overnight and it didn't finish after a couple of hours), while
compiling the same code using VS 2003 or VS 6 finished fairly quickly.

Krzysztof Kowalczyk | http://blog.kowalczyk.info




reply via email to

[Prev in Thread] Current Thread [Next in Thread]