janet-lang / spork

Various Janet utility modules - the official "Contrib" library.
MIT License
117 stars 35 forks source link

Janet 1.30 - Spork not building on Windows 11 Pro Build 22621 #150

Closed mvoltz closed 1 year ago

mvoltz commented 1 year ago

janet -v 1.30.0-local

jpm install spork From https://github.com/janet-lang/spork

  • branch HEAD -> FETCH_HEAD HEAD is now at ce3e437 Merge pull request #145 from primo-ppcg/modular-arithmetic compiling src/zip.c to build/srczip.o... error: failed to create process compiling deps/miniz/miniz.c to build/depsminizminiz.o... error: failed to create process compiling src/json.c to build/srcjson.o... error: failed to create process compiling src/tarray.c to build/srctarray.o... error: failed to create process compiling src/utf8.c to build/srcutf8.o... error: failed to create process compiling src/rawterm.c to build/srcrawterm.o... error: failed to create process compiling src/cmath.c to build/srccmath.o... error: failed to create process compiling src/crc.c to build/src___crc.o... error: failed to create process error: build fail in pdag [C:/Users/.../Local/Apps/Janet/Library/jpm/dagbuild.janet] (tailcall) on line 79, column 23 in [C:/Users/.../Local/Apps/Janet/Library/jpm/pm.janet] on line 236, column 9 in [C:/Users/.../Local/Apps/Janet/Library/jpm/pm.janet] on line 221, column 5 in bundle-install [C:/Users/.../Local/Apps/Janet/Library/jpm/pm.janet] on line 219, column 3 in install [C:/Users/.../Local/Apps/Janet/Library/jpm/commands.janet] on line 197, column 20 in run [C:/Users/.../Local/Apps/Janet/Library/jpm/cli.janet] (tailcall) on line 88, column 9 in run-main [boot.janet] on line 3883, column 16 in cli-main [boot.janet] on line 4036, column 17
sogaiu commented 1 year ago

I don't have Windows 11 to test.

FWIW, on Windows 10 Home 22H2 19045_3208, it works here if I execute the command via "x64 Native Tools Command Prompt" (comes with various VisualStudio versions though may be available via other means [1]).

C:\Users\user\Desktop\janet>janet -v 1.30.0-local C:\Users\user\Desktop\janet>jpm install spork remote: Enumerating objects: 129, done. remote: Counting objects: 100% (126/126), done. remote: Compressing objects: 100% (54/54), done. remote: Total 129 (delta 77), reused 110 (delta 72), pack-reused 3 Receiving objects: 100% (129/129), 73.39 KiB | 6.67 MiB/s, done. Resolving deltas: 100% (77/77), completed with 4 local objects. From https://github.com/janet-lang/spork 876974b..ce3e437 master -> origin/master From https://github.com/janet-lang/spork * branch HEAD -> FETCH_HEAD HEAD is now at ce3e437 Merge pull request #145 from primo-ppcg/modular-arithmetic compiling src/cmath.c to build/src___cmath.o... generating meta file build/spork/cmath.meta.janet... compiling src/cmath.c to build/src___cmath.static.o... creating native module build/spork/cmath.dll... creating static library build/spork/cmath.static.lib... removing C:\Users\user\AppData\Local\Apps\Janet\Library\/spork removing C:\Users\user\AppData\Local\Apps\Janet\bin\/janet-format removing C:\Users\user\AppData\Local\Apps\Janet\bin\/janet-format.bat removing C:\Users\user\AppData\Local\Apps\Janet\bin\/janet-netrepl removing C:\Users\user\AppData\Local\Apps\Janet\bin\/janet-netrepl.bat removing C:\Users\user\AppData\Local\Apps\Janet\Library\/spork/json.dll removing C:\Users\user\AppData\Local\Apps\Janet\Library\/spork/json.meta.janet removing C:\Users\user\AppData\Local\Apps\Janet\Library\/spork/json.static.lib removing C:\Users\user\AppData\Local\Apps\Janet\Library\/spork/rawterm.dll removing C:\Users\user\AppData\Local\Apps\Janet\Library\/spork/rawterm.meta.janet removing C:\Users\user\AppData\Local\Apps\Janet\Library\/spork/rawterm.static.lib removing C:\Users\user\AppData\Local\Apps\Janet\Library\/spork/crc.dll removing C:\Users\user\AppData\Local\Apps\Janet\Library\/spork/crc.meta.janet removing C:\Users\user\AppData\Local\Apps\Janet\Library\/spork/crc.static.lib removing C:\Users\user\AppData\Local\Apps\Janet\Library\/spork/utf8.dll removing C:\Users\user\AppData\Local\Apps\Janet\Library\/spork/utf8.meta.janet removing C:\Users\user\AppData\Local\Apps\Janet\Library\/spork/utf8.static.lib removing C:\Users\user\AppData\Local\Apps\Janet\Library\/spork/tarray.dll removing C:\Users\user\AppData\Local\Apps\Janet\Library\/spork/tarray.meta.janet removing C:\Users\user\AppData\Local\Apps\Janet\Library\/spork/tarray.static.lib removing C:\Users\user\AppData\Local\Apps\Janet\Library\//tarray.h removing C:\Users\user\AppData\Local\Apps\Janet\Library\/spork/zip.dll removing C:\Users\user\AppData\Local\Apps\Janet\Library\/spork/zip.meta.janet removing C:\Users\user\AppData\Local\Apps\Janet\Library\/spork/zip.static.lib removing manifest C:\Users\user\AppData\Local\Apps\Janet\Library\/.manifests/spork.jdn Uninstalled. generating C:\Users\user\AppData\Local\Apps\Janet\Library\/.manifests/spork.jdn... Installed as 'spork'. copying spork to C:\Users\user\AppData\Local\Apps\Janet\Library\... spork\argparse.janet spork\base64.janet spork\build-rules.janet spork\cjanet.janet spork\cron.janet spork\data.janet spork\ev-utils.janet spork\fmt.janet spork\generators.janet spork\getline.janet spork\htmlgen.janet spork\http.janet spork\httpf.janet spork\init.janet spork\math.janet spork\mdz.janet spork\misc.janet spork\msg.janet spork\netrepl.janet spork\path.janet spork\pgp.janet spork\randgen.janet spork\regex.janet spork\rpc.janet spork\schema.janet spork\services.janet spork\sh.janet spork\tasker.janet spork\temple.janet spork\test.janet 30 File(s) copied installing bin/janet-format to C:\Users\user\AppData\Local\Apps\Janet\bin\/janet-format installing bin/janet-netrepl to C:\Users\user\AppData\Local\Apps\Janet\bin\/janet-netrepl copying build/spork/json.dll to C:\Users\user\AppData\Local\Apps\Janet\Library\/spork... build\spork\json.dll 1 File(s) copied copying build/spork/json.meta.janet to C:\Users\user\AppData\Local\Apps\Janet\Library\/spork... build\spork\json.meta.janet 1 File(s) copied copying build/spork/json.static.lib to C:\Users\user\AppData\Local\Apps\Janet\Library\/spork... build\spork\json.static.lib 1 File(s) copied copying build/spork/rawterm.dll to C:\Users\user\AppData\Local\Apps\Janet\Library\/spork... build\spork\rawterm.dll 1 File(s) copied copying build/spork/rawterm.meta.janet to C:\Users\user\AppData\Local\Apps\Janet\Library\/spork... build\spork\rawterm.meta.janet 1 File(s) copied copying build/spork/rawterm.static.lib to C:\Users\user\AppData\Local\Apps\Janet\Library\/spork... build\spork\rawterm.static.lib 1 File(s) copied copying build/spork/crc.dll to C:\Users\user\AppData\Local\Apps\Janet\Library\/spork... build\spork\crc.dll 1 File(s) copied copying build/spork/crc.meta.janet to C:\Users\user\AppData\Local\Apps\Janet\Library\/spork... build\spork\crc.meta.janet 1 File(s) copied copying build/spork/crc.static.lib to C:\Users\user\AppData\Local\Apps\Janet\Library\/spork... build\spork\crc.static.lib 1 File(s) copied copying build/spork/utf8.dll to C:\Users\user\AppData\Local\Apps\Janet\Library\/spork... build\spork\utf8.dll 1 File(s) copied copying build/spork/utf8.meta.janet to C:\Users\user\AppData\Local\Apps\Janet\Library\/spork... build\spork\utf8.meta.janet 1 File(s) copied copying build/spork/utf8.static.lib to C:\Users\user\AppData\Local\Apps\Janet\Library\/spork... build\spork\utf8.static.lib 1 File(s) copied copying build/spork/tarray.dll to C:\Users\user\AppData\Local\Apps\Janet\Library\/spork... build\spork\tarray.dll 1 File(s) copied copying build/spork/tarray.meta.janet to C:\Users\user\AppData\Local\Apps\Janet\Library\/spork... build\spork\tarray.meta.janet 1 File(s) copied copying build/spork/tarray.static.lib to C:\Users\user\AppData\Local\Apps\Janet\Library\/spork... build\spork\tarray.static.lib 1 File(s) copied copying src/tarray.h to C:\Users\user\AppData\Local\Apps\Janet\Library\/... src\tarray.h 1 File(s) copied copying build/spork/zip.dll to C:\Users\user\AppData\Local\Apps\Janet\Library\/spork... build\spork\zip.dll 1 File(s) copied copying build/spork/zip.meta.janet to C:\Users\user\AppData\Local\Apps\Janet\Library\/spork... build\spork\zip.meta.janet 1 File(s) copied copying build/spork/zip.static.lib to C:\Users\user\AppData\Local\Apps\Janet\Library\/spork... build\spork\zip.static.lib 1 File(s) copied copying build/spork/cmath.dll to C:\Users\user\AppData\Local\Apps\Janet\Library\/spork... build\spork\cmath.dll 1 File(s) copied copying build/spork/cmath.meta.janet to C:\Users\user\AppData\Local\Apps\Janet\Library\/spork... build\spork\cmath.meta.janet 1 File(s) copied copying build/spork/cmath.static.lib to C:\Users\user\AppData\Local\Apps\Janet\Library\/spork... build\spork\cmath.static.lib 1 File(s) copied

[1] See here for some further details if interested.

primo-ppcg commented 1 year ago

I execute the command via "x64 Native Tools Command Prompt"

I think that may be the issue. "Failed to create process" seems like it can't find the compiler.


I've tried to replicate the issue. I have done the following:


Build from cmd ``` HEAD is now at ce3e437 Merge pull request #145 from primo-ppcg/modular-arithmetic compiling src/json.c to build/src___json.o... error: failed to create process compiling src/crc.c to build/src___crc.o... error: failed to create process compiling src/zip.c to build/src___zip.o... error: failed to create process compiling src/utf8.c to build/src___utf8.o... error: failed to create process compiling src/cmath.c to build/src___cmath.o... error: failed to create process compiling src/tarray.c to build/src___tarray.o... error: failed to create process generating meta file build/spork/json.meta.janet... compiling deps/miniz/miniz.c to build/deps___miniz___miniz.o... error: failed to create process generating meta file build/spork/zip.meta.janet... compiling src/rawterm.c to build/src___rawterm.o... error: failed to create process generating meta file build/spork/crc.meta.janet... generating meta file build/spork/utf8.meta.janet... generating meta file build/spork/rawterm.meta.janet... generating meta file build/spork/tarray.meta.janet... generating meta file build/spork/cmath.meta.janet... error: build fail ```

The error is precisely the same as reported.


Build from x64 Native Tools Command Prompt ``` HEAD is now at ce3e437 Merge pull request #145 from primo-ppcg/modular-arithmetic compiling src/json.c to build/src___json.o... generating meta file build/spork/utf8.meta.janet... compiling src/crc.c to build/src___crc.o... compiling src/utf8.c to build/src___utf8.o... generating meta file build/spork/json.meta.janet... compiling src/rawterm.c to build/src___rawterm.o... generating meta file build/spork/rawterm.meta.janet... generating meta file build/spork/crc.meta.janet... compiling src/tarray.c to build/src___tarray.o... generating meta file build/spork/tarray.meta.janet... compiling src/zip.c to build/src___zip.o... compiling deps/miniz/miniz.c to build/deps___miniz___miniz.o... generating meta file build/spork/zip.meta.janet... compiling src/cmath.c to build/src___cmath.o... generating meta file build/spork/cmath.meta.janet... compiling src/utf8.c to build/src___utf8.static.o... creating native module build/spork/utf8.dll... compiling src/zip.c to build/src___zip.static.o... creating native module build/spork/cmath.dll... compiling src/cmath.c to build/src___cmath.static.o... creating native module build/spork/crc.dll... compiling src/crc.c to build/src___crc.static.o... compiling src/json.c to build/src___json.static.o... creating native module build/spork/json.dll... creating native module build/spork/tarray.dll... compiling src/tarray.c to build/src___tarray.static.o... creating native module build/spork/rawterm.dll... compiling src/rawterm.c to build/src___rawterm.static.o... creating native module build/spork/zip.dll... compiling deps/miniz/miniz.c to build/deps___miniz___miniz.static.o... creating static library build/spork/utf8.static.lib... creating static library build/spork/cmath.static.lib... creating static library build/spork/crc.static.lib... creating static library build/spork/json.static.lib... creating static library build/spork/tarray.static.lib... creating static library build/spork/rawterm.static.lib... creating static library build/spork/zip.static.lib... generating %UserProfile%\AppData\Local\Apps\Janet\Library\/.manifests/spork.jdn... Installed as 'spork'. ```

The build succeeds.

mvoltz commented 1 year ago

Apologies, I didn't do a great job isolating my changes but it works now. You were correct. I needed VS command prompt to compile properly, but it was still breaking for me in different ways (broken externals). I installed Wix311 and added "C++ Modules for v143 build tools (x64/x86 - experimental)". I uninstalled Janet then reinstalled, tried again, and spork built just fine. Note: I'm using the release installer and not compiling Janet from source.

Thank you, sogaiu and primo-ppcg, for your help.