Thanks for the extra context here Andrew, it helped! Mystery solved-ish!
Using zig 12
:
PS Z:\tigerbeetle> .\zig-12\zig.exe run main.zig
error: unable to find zig self exe path: Unexpected
The key thing here is that Z:
is the shared folder between my linux host and windows guest, set up with https://winfsp.dev.
If I move zig-12
to C:\
(“normal” windows disk), it works.
So, it seems like a bug somewhere between Zig’s std.fs
and winfsp
. This is further confirem if I try to compile code on Z:\
using compiler from C:\
:
error.Unexpected NTSTATUS=0xc000014f
C:\zig\lib\std\os\windows.zig:244:40: 0x7ff6a116e932 in DeviceIoControl (build.exe.obj)
else => return unexpectedStatus(rc),
^
C:\zig\lib\std\os\windows.zig:1230:28: 0x7ff6a113d4ac in GetFinalPathNameByHandle (build.exe.obj)
DeviceIoControl(mgmt_handle, IOCTL_MOUNTMGR_QUERY_POINTS, &input_buf, &output_buf) catch |err| switch (err) {
^
C:\zig\lib\std\os.zig:5177:68: 0x7ff6a10dd580 in getFdPath (build.exe.obj)
const wide_slice = try windows.GetFinalPathNameByHandle(fd, .{}, wide_buf[0..]);
^
C:\zig\lib\std\fs.zig:1597:42: 0x7ff6a10dc7ad in realpathW (build.exe.obj)
const out_path = try os.getFdPath(h_file, &buffer);
I guess either I have to develop on windows disk (and cp stuff between the shared folder and windows), or look into that samba thing…