-
Notifications
You must be signed in to change notification settings - Fork 470
[windows] staged_pps passes incorrect path separator to cmd.exe #10867
Copy link
Copy link
Closed
ocaml/opam-repository
#26975Labels
windowsIssues that relate to Dune on Microsoft WindowsIssues that relate to Dune on Microsoft Windows
Description
I am trying to build some of my packages with native Windows opam switches as created by opam 2.2.
Things work mostly fine, except for my projects using staged_pps:
$ (cd _build/default && C:\Users\User\AppData\Local\opam\default\bin\ocamldep.opt.exe -modules -ppx ".ppx/1f4626a10100bf9c3a282e83fe079d93/ppx.exe --as-ppx --cookie \"library-name=\\\"serlib_funind\\\"\"" -impl serlib/plugins/funind/ser_g_indfun.ml) > _build/default/serlib/plugins/funind/.serlib_funind.objs/serlib_funind__Ser_g_indfun.impl.d
> '.ppx' is not recognized as an internal or external command,
> operable program or batch file.
> File "serlib/plugins/funind/ser_g_indfun.ml", line 1:
> Error: Error while running external preprocessor
> Command line: .ppx/1f4626a10100bf9c3a282e83fe079d93/ppx.exe --as-ppx --cookie "library-name=\"serlib_funind\"" "C:\Users\User\AppData\Local\Temp\build_17b787_dune\camlppx7ef3dd" "C:\Users\User\AppData\Local\Temp\build_17b787_dune\camlppx361290"
As identified by @nojb , the problem seems to stem from the use of .ppx/1f4626a10100bf9c3a282e83fe079d93/ppx.exe as the executable name, cmd.exe will handle this as .ppx /option1 /option2 leading to the error message.
Using .ppx\1f4626a10100bf9c3a282e83fe079d93\ppx.exe as the path seems to work (famous last words).
(*) I couldn't try a dune patch to confirm changing that would solve the issue due to other opam 2.2 + windows problems, in particular with pinning of git repos.
Reactions are currently unavailable
Metadata
Metadata
Assignees
Labels
windowsIssues that relate to Dune on Microsoft WindowsIssues that relate to Dune on Microsoft Windows