#file not found error

1 messages · Page 1 of 1 (latest)

sacred bronze
#
j@js-MacBook-Pro myos % zig build
install
└─ install myos failure
error: unable to update file from '/Users/j/code/myos/.zig-cache/o/b8024110bd6b77f31776a7b6ab3a2f0a/myos.bin' to '/Users/j/code/myos/zig-out/bin/myos.bin': FileNotFound
Build Summary: 1/3 steps succeeded; 1 failed
install transitive failure
└─ install myos failure
error: the following build command failed with exit code 1:
/Users/j/code/myos/.zig-cache/o/66fae460070fe69d0d4ebea437fe041c/build /Users/j/.zvm/master/zig /Users/j/.zvm/master/lib /Users/j/code/myos /Users/j/code/myos/.zig-cache /Users/j/.cache/zig --seed 0x69d24b79 -Z0d0a9c1a4602f819
#

build.zig

const std = @import("std");
const builtin = @import("builtin");
const Target = std.Target;

const os: Target.Os = .{ .tag = Target.Os.Tag.freestanding, .version_range = Target.Os.VersionRange.default(.freestanding, .riscv64) };
const features: Target.Cpu.Feature.Set = .{ .ints = .{ 1, 2, 3, 4, 5 } };
const model = Target.Cpu.Model{ .name = "riscv64", .llvm_name = null, .features = features };

const cpu: Target.Cpu = .{ .arch = .riscv64, .features = features, .model = &model };
pub fn build(b: *std.Build) void {
    const query = Target.Query{
        .cpu_arch = Target.Cpu.Arch.riscv64,
        .os_tag = Target.Os.Tag.freestanding,
        .abi = Target.Abi.none,
    };
    const target = std.Target{ .os = os, .abi = .none, .cpu = cpu, .ofmt = .raw };
    const resolved_target = std.Build.ResolvedTarget{ .query = query, .result = target };
    const optimize = b.standardOptimizeOption(.{});

    const exe = b.addExecutable(.{
        .name = "myos",
        .root_source_file = b.path("src/main.zig"),
        .target = resolved_target,
        .optimize = optimize,
    });

    b.installArtifact(exe);
    const run_cmd = b.addRunArtifact(exe);
    run_cmd.step.dependOn(b.getInstallStep());

    if (b.args) |args| {
        run_cmd.addArgs(args);
    }

    const run_step = b.step("run", "Run the app");
    run_step.dependOn(&run_cmd.step);
}
sacred bronze
#

so the problem is

#
  const target = std.Target{ .os = os, .abi = .none, .cpu = cpu, .ofmt = Target.ObjectFormat.default(os.tag, .riscv64) };
#
        .name = "myos.bin",