NilsIrl / dockerc

container image to single executable compiler
GNU General Public License v3.0
2.74k stars 40 forks source link

zig 0.11.0: dockerc/build.zig:41:13: error: no field named 'root_module' in struct 'Build.Step.Compile' #12

Closed brandonros closed 5 months ago

brandonros commented 5 months ago

Warning: I know this is currently unsupported.

  1. I'm on MacOS
  2. I'm on arm64/aarch64

I just wanted to see if I could help "simply" add support for either/both

$ zig build -Doptimize=ReleaseSafe
/Users/brandon/Desktop/dockerc/build.zig:41:13: error: no field named 'root_module' in struct 'Build.Step.Compile'
    dockerc.root_module.addAnonymousImport("runtime", .{ .root_source_file = runtime.getEmittedBin() });
            ^~~~~~~~~~~
/Applications/zig-macos-aarch64-0.11.0/lib/std/Build/Step/Compile.zig:1:1: note: struct declared here
const builtin = @import("builtin");
^~~~~
referenced by:
    runBuild__anon_6653: /Applications/zig-macos-aarch64-0.11.0/lib/std/Build.zig:1638:27
    remaining reference traces hidden; use '-freference-trace' to see all reference traces

Not sure if I need to be on zig nightly instead of zig 0.11.0 or what. Not sure where to get stared on supporting either platform.

NilsIrl commented 5 months ago

I'm using zig nightly.

brandonros commented 5 months ago

using nightly/zig 0.12.0 master release does get me further, thanks

$ zig build -Doptimize=ReleaseSafe
install
└─ install dockerc
   └─ zig build-exe dockerc ReleaseSafe native
      └─ zig build-exe runtime ReleaseSafe native 1 errors
src/main.zig:8:39: error: unable to open 'tools/squashfuse': FileNotFound
const squashfuse_content = @embedFile("tools/squashfuse");
                                      ^~~~~~~~~~~~~~~~~~
referenced by:
    main: src/main.zig:156:75
    callMain: /Applications/zig-macos-aarch64-0.12.0-dev.3161+377ecc6af/lib/std/start.zig:511:32
    callMainWithArgs: /Applications/zig-macos-aarch64-0.12.0-dev.3161+377ecc6af/lib/std/start.zig:469:12
    main: /Applications/zig-macos-aarch64-0.12.0-dev.3161+377ecc6af/lib/std/start.zig:484:12
error: the following command failed with 1 compilation errors:
/Applications/zig-macos-aarch64-0.12.0-dev.3161+377ecc6af/zig build-exe -freference-trace=64 -OReleaseSafe -Mroot=/Users/brandon/Desktop/dockerc/src/main.zig -lc --cache-dir /Users/brandon/Desktop/dockerc/zig-cache --global-cache-dir /Users/brandon/.cache/zig --name runtime --listen=- 
Build Summary: 0/4 steps succeeded; 1 failed (disable with --summary none)
install transitive failure
└─ install dockerc transitive failure
   └─ zig build-exe dockerc ReleaseSafe native transitive failure
      └─ zig build-exe runtime ReleaseSafe native 1 errors
error: the following build command failed with exit code 1:
/Users/brandon/Desktop/dockerc/zig-cache/o/c88bd6f15b04614bb772639f3feb76c0/build /Applications/zig-macos-aarch64-0.12.0-dev.3161+377ecc6af/zig /Users/brandon/Desktop/dockerc /Users/brandon/Desktop/dockerc/zig-cache /Users/brandon/.cache/zig --seed 0x1c882413 -Z66d7e1cdcb2ccc3d -Doptimize=ReleaseSafe
MacBook-Air:dockerc brandon 2024-03-07 18:26:10 $ 
brandonros commented 5 months ago

Looks like I'd have to do some weird stuff with https://github.com/macos-fuse-t/fuse-t