Windows will no longer be supported by ASDF, or ASDF, Windows, Cygwin -- oh, my!

Stas Boukarev stassats at
Mon Mar 21 16:00:51 UTC 2016

Stas Boukarev <stassats at> writes:

> Robert Goldman <rpgoldman at> writes:
>> On 3/21/16 Mar 21 -9:34 AM, Stas Boukarev wrote:
>>> I never liked the idea of cygwin, mingw (via msys2) seems to be
>>> working pretty well for me.
>> Any chance you could grab a copy of the git repo and run the tests on
>> Windows?
>> I'm relatively confident that everything works the same across lisp
>> implementations on Windows now.  The same tests fail for me everywhere.
>> The tests failing, AFAICT, are mostly due to Cygwin environment bleeding
>> into the environment used by the Lisp (which interacts with Windows
>> through CMD.EXE).  My guess is that these will fail in pretty much the
>> same way under mingw, but I have never used mingw, so I can't really
>> say.  Does it have its own pathname syntax, the way cygwin does?  (You
>> can tell I don't use windows -- except for testing ASDF!).
> Two tests fail:
> test-run-program.script test-sysdef-asdf.script
> test-sysdef-asdf fails because sb-ext:run-program doesn't yet support
> output redirection on windows.
> test-run-program because it can't find "echo" which turns out to be a
> shell script with echo "$@", cmd.exe has trouble executing that.
> Found some bsd echo.c, compiled and stuffed it instead of the shell
> script, the test now passes.
> So, ASDF works as much as it can be expected to work.
Actually, the sysdef-asdf test not only succumbs to missing output
redirection it also does
  0: (SB-EXT:RUN-PROGRAM "C:\\Windows\\System32\\cmd.exe"
                          "\"C:\\Windows\\System32\\cmd.exe\" /c make.bat driver
                         :INPUT T :OUTPUT T :WAIT T :ALLOW-OTHER-KEYS T :ERROR
                         :IF-OUTPUT-DOES-NOT-EXIST :CREATE
                         :IF-ERROR-DOES-NOT-EXIST :CREATE :WAIT T :INPUT
                         :UTF-8 :FORCE-SHELL T :DIRECTORY
                         #P"c:/Users/stas/asdf/" :OUTPUT :INTERACTIVE)

Which results in
'\"C:\Windows\System32\cmd.exe\"' is not recognized as an internal or external c
operable program or batch file.

the current asdf in SBCL doesn't do that.

With best regards, Stas.

More information about the asdf-devel mailing list