> Could you give 5.3.0rc2 a quick spin? In it, we've simply > dropped the custom implementation of opendir and readdir.
Sure thing. Looks good. Sorry it's taken a while to respond, but I wanted to do some thorough tests. TL,DR; It's not crashing any more I can install eggs, and use them. I tried: 1. compiling and installing in an MSYS2/MinGW64 shell 2. compiling and installing in a windows CMD shell with MSYS2/MinGW64 paths 3. compiling and installing in a windows CMD shell with chocolatey make/gcc on the path All of them worked. However, of note was the ones with MSYS2/MinGW64 binaries on the path created versions that make eggs think they should use "cp" instead of "xcopy" in thier install bat files. (I think this is to do with C_TARGET_INSTALL_PROGRAM) For example, this version was the output from (2) above: > set PATH=c:\chicken\bin;%PATH% > chicken-install srfi-1 # i'd already compiled this in another shell building srfi-1 installing srfi-1 A subdirectory or file C:\chicken\lib\chicken\11 already exists. 'cp' is not recognized as an internal or external command - - - - - In srfi-1.install.bat: - - - 8< - - - @echo off cd /d "C:\Users\markj\AppData\Local\chicken-install\srfi-1" mkdir %DESTDIR%"C:\chicken\lib\chicken\11" cp -r "C:\Users\markj\AppData\Local\chicken-install\srfi-1\srfi-1.static.obj" %DESTDIR%"C:\chicken\lib\chicken\11\srfi-1.obj" cp -r "C:\Users\markj\AppData\Local\chicken-install\srfi-1\srfi-1.link" %DESTDIR%"C:\chicken\lib\chicken\11\srfi-1.link" if errorlevel 1 exit /b 1 ... etc. - - - But building with option (3) is giving: - - - 8< - - - @echo off cd /d "C:\Users\markj\AppData\Local\chicken-install\srfi-1" mkdir %DESTDIR%"C:\chicken\lib\chicken\11" copy /Y "C:\Users\markj\AppData\Local\chicken-install\srfi-1\srfi-1.static.obj" %DESTDIR%"C:\chicken\lib\chicken\11\srfi-1.obj" copy /Y "C:\Users\markj\AppData\Local\chicken-install\srfi-1\srfi-1.link" %DESTDIR%"C:\chicken\lib\chicken\11\srfi-1.link" if errorlevel 1 exit /b 1 ... etc - - - Using option 3: Compilation test with uri-common egg: ============== ;;; uri-test.scm (import uri-common) (print (uri->string (update-uri (uri-reference "") path: '("example" "greeting") query: '((hi . "there"))))) > csc uri-test.scm > uri-test.exe example/greeting?hi=there Interactive test ============= C:\Users\markj>csi CHICKEN (c) 2008-2021, The CHICKEN Team (c) 2000-2007, Felix L. Winkelmann Version 5.3.0rc2 ((HEAD detached at 5.3.0rc2)) (rev 12bb5c31) mingw32-windows-gnu-x86-64 [ 64bit dload ptables ] Type ,? for help. #;1> (import uri-common) ; loading C:/chicken/lib/chicken/11/uri-common.import.so ... ; loading C:/chicken/lib/chicken/11/uri-common.so ... ; loading C:/chicken/lib/chicken/11/srfi-1.so ... ; loading C:/chicken/lib/chicken/11/srfi-13.so ... ; loading C:/chicken/lib/chicken/11/srfi-14.so ... ; loading C:/chicken/lib/chicken/11/defstruct.so ... ; loading C:/chicken/lib/chicken/11/matchable.so ... ; loading C:/chicken/lib/chicken/11/uri-generic.so ... #;2> (uri->string (update-uri (uri-reference "") path: '("example" "greeting") query: '((hi . "there")))) "example/greeting?hi=there" #;3> So I think that installing from a MSYS2/MinGW64 shell is still not quite working correctly, but it appears to be spot on using chocolatey with msys2/make installed. Also, one other problem I have is that non of the binaries I created have a chicken-install that works in a MSYS2/MinGW64 shell - - - 8< - - - $ chicken-install test fetching test 'xcopy' is not recognized as an internal or external command, operable program or batch file. Error: (open-input-file) cannot open file - No such file or directory: "C:\\Users\\markj\\AppData\\Local\\chicken-install\\test\\test.egg" - - - So it seems with chocolatey on my path its build seemed to make everything fully "windows", whereas with MSYS2/MinGW64 on the path it was slightly unixy (cp instead of xcopy, but still referring to C:\\Users\\markj\\AppData etc). Option (2) did mostly work though as a solution without chocolatey, but only because unix style binaries were on the path. mark