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

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


Stas Boukarev <stassats at gmail.com> writes:

> Robert Goldman <rpgoldman at sift.net> 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"
                          "\"C:\\Windows\\System32\\cmd.exe\" /c make.bat driver
_files")
                         :INPUT T :OUTPUT T :WAIT T :ALLOW-OTHER-KEYS T :ERROR
                         T :IF-INPUT-DOES-NOT-EXIST :ERROR :IF-OUTPUT-EXISTS
                         :OVERWRITE :IF-ERROR-EXISTS :OVERWRITE :SEARCH T
                         :IF-OUTPUT-DOES-NOT-EXIST :CREATE
                         :IF-ERROR-DOES-NOT-EXIST :CREATE :WAIT T :INPUT
                         :INTERACTIVE :OUTPUT :INTERACTIVE :ERROR-OUTPUT
                         :INTERACTIVE :INPUT :INTERACTIVE :ERROR-OUTPUT
                         :INTERACTIVE :IF-INPUT-DOES-NOT-EXIST :ERROR
                         :IF-OUTPUT-EXISTS :OVERWRITE :IF-ERROR-OUTPUT-EXISTS
                         :OVERWRITE :ELEMENT-TYPE :DEFAULT :EXTERNAL-FORMAT
                         :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
ommand,
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