this derivation will be built: /nix/store/0p8g1g8z2z8zq78xnp5z12q8gba7vz6h-tribuchet-0.1.0.drv building '/nix/store/0p8g1g8z2z8zq78xnp5z12q8gba7vz6h-tribuchet-0.1.0.drv' on 'ssh-ng://customer@mac02' building '/nix/store/0p8g1g8z2z8zq78xnp5z12q8gba7vz6h-tribuchet-0.1.0.drv' tribuchet-0.1.0> Running phase: unpackPhase tribuchet-0.1.0> unpacking source archive /nix/store/x2b2ngpaymm1clig0hav08djds8rr3y3-source tribuchet-0.1.0> source root is source tribuchet-0.1.0> Running phase: patchPhase tribuchet-0.1.0> Executing configureCargoCommonVars tribuchet-0.1.0> decompressing cargo artifacts from /nix/store/yz6wqp8nbfj882aadfazd13wdlfmpx9h-tribuchet-deps-0.1.0/target.tar.zst to target tribuchet-0.1.0> Running phase: updateAutotoolsGnuConfigScriptsPhase tribuchet-0.1.0> Running phase: configurePhase tribuchet-0.1.0> will append /nix/var/nix/builds/nix-9407-1718950457/source/.cargo-home/config.toml with contents of /nix/store/gjcnsmpsvwi5s63sqd5l0cda8bcrvphg-vendor-cargo-deps/config.toml tribuchet-0.1.0> default configurePhase, nothing to do tribuchet-0.1.0> Running phase: buildPhase tribuchet-0.1.0> +++ command cargo --version tribuchet-0.1.0> cargo 1.97.0 (c980f4866 2026-06-30) tribuchet-0.1.0> +++ command cargo build --release --message-format json-render-diagnostics --locked tribuchet-0.1.0> Compiling sandbox-proto v0.1.0 (/nix/var/nix/builds/nix-9407-1718950457/source/crates/sandbox-proto) tribuchet-0.1.0> Compiling tribuchet v0.1.0 (/nix/var/nix/builds/nix-9407-1718950457/source/crates/tribuchet) tribuchet-0.1.0> warning: unused import: `std::os::unix::fs::MetadataExt` tribuchet-0.1.0> --> crates/tribuchet/src/hub.rs:13:5 tribuchet-0.1.0> | tribuchet-0.1.0> 13 | use std::os::unix::fs::MetadataExt; tribuchet-0.1.0> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tribuchet-0.1.0> | tribuchet-0.1.0> = note: `#[warn(unused_imports)]` (part of `#[warn(unused)]`) on by default tribuchet-0.1.0> tribuchet-0.1.0> warning: unused import: `std::ffi::CString` tribuchet-0.1.0> --> crates/tribuchet/src/rt.rs:4:5 tribuchet-0.1.0> | tribuchet-0.1.0> 4 | use std::ffi::CString; tribuchet-0.1.0> | ^^^^^^^^^^^^^^^^^ tribuchet-0.1.0> tribuchet-0.1.0> warning: unused import: `std::ffi::NulError` tribuchet-0.1.0> --> crates/tribuchet/src/worker/agent.rs:15:5 tribuchet-0.1.0> | tribuchet-0.1.0> 15 | use std::ffi::NulError; tribuchet-0.1.0> | ^^^^^^^^^^^^^^^^^^ tribuchet-0.1.0> tribuchet-0.1.0> warning: unused import: `std::os::unix::process::CommandExt` tribuchet-0.1.0> --> crates/tribuchet/src/worker/sandbox.rs:21:5 tribuchet-0.1.0> | tribuchet-0.1.0> 21 | use std::os::unix::process::CommandExt; tribuchet-0.1.0> | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ tribuchet-0.1.0> tribuchet-0.1.0> warning: unused import: `crate::fsutil::io_ctx` tribuchet-0.1.0> --> crates/tribuchet/src/worker/sandbox.rs:34:5 tribuchet-0.1.0> | tribuchet-0.1.0> 34 | use crate::fsutil::io_ctx; tribuchet-0.1.0> | ^^^^^^^^^^^^^^^^^^^^^ tribuchet-0.1.0> tribuchet-0.1.0> warning: unused import: `std::env` tribuchet-0.1.0> --> crates/tribuchet/src/main.rs:21:5 tribuchet-0.1.0> | tribuchet-0.1.0> 21 | use std::env; tribuchet-0.1.0> | ^^^^^^^^ tribuchet-0.1.0> tribuchet-0.1.0> error[E0277]: `?` couldn't convert the error to `errors::Error` tribuchet-0.1.0> --> crates/tribuchet/src/worker/agent/darwin.rs:161:44 tribuchet-0.1.0> | tribuchet-0.1.0> 161 | let profile = CString::new(profile)?; tribuchet-0.1.0> | ---------------------^ the trait `From` is not implemented for `errors::Error` tribuchet-0.1.0> | | tribuchet-0.1.0> | this can't be annotated with `?` because it has type `Result<_, std::ffi::NulError>` tribuchet-0.1.0> | tribuchet-0.1.0> note: `errors::Error` needs to implement `From` tribuchet-0.1.0> --> crates/tribuchet/src/errors.rs:19:1 tribuchet-0.1.0> | tribuchet-0.1.0> 19 | pub enum Error { tribuchet-0.1.0> | ^^^^^^^^^^^^^^ tribuchet-0.1.0> = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait tribuchet-0.1.0> = help: `errors::Error` implements trait `From`: tribuchet-0.1.0> From tribuchet-0.1.0> From tribuchet-0.1.0> From tribuchet-0.1.0> From tribuchet-0.1.0> From tribuchet-0.1.0> From tribuchet-0.1.0> From tribuchet-0.1.0> From tribuchet-0.1.0> and 12 others tribuchet-0.1.0> tribuchet-0.1.0> error[E0277]: `?` couldn't convert the error to `errors::Error` tribuchet-0.1.0> --> crates/tribuchet/src/worker/agent/darwin.rs:164:40 tribuchet-0.1.0> | tribuchet-0.1.0> 164 | owned.push(CString::new(*k)?); tribuchet-0.1.0> | ----------------^ the trait `From` is not implemented for `errors::Error` tribuchet-0.1.0> | | tribuchet-0.1.0> | this can't be annotated with `?` because it has type `Result<_, std::ffi::NulError>` tribuchet-0.1.0> | tribuchet-0.1.0> note: `errors::Error` needs to implement `From` tribuchet-0.1.0> --> crates/tribuchet/src/errors.rs:19:1 tribuchet-0.1.0> | tribuchet-0.1.0> 19 | pub enum Error { tribuchet-0.1.0> | ^^^^^^^^^^^^^^ tribuchet-0.1.0> = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait tribuchet-0.1.0> = help: `errors::Error` implements trait `From`: tribuchet-0.1.0> From tribuchet-0.1.0> From tribuchet-0.1.0> From tribuchet-0.1.0> From tribuchet-0.1.0> From tribuchet-0.1.0> From tribuchet-0.1.0> From tribuchet-0.1.0> From tribuchet-0.1.0> and 12 others tribuchet-0.1.0> tribuchet-0.1.0> error[E0277]: `?` couldn't convert the error to `errors::Error` tribuchet-0.1.0> --> crates/tribuchet/src/worker/agent/darwin.rs:165:40 tribuchet-0.1.0> | tribuchet-0.1.0> 165 | owned.push(CString::new(*v)?); tribuchet-0.1.0> | ----------------^ the trait `From` is not implemented for `errors::Error` tribuchet-0.1.0> | | tribuchet-0.1.0> | this can't be annotated with `?` because it has type `Result<_, std::ffi::NulError>` tribuchet-0.1.0> | tribuchet-0.1.0> note: `errors::Error` needs to implement `From` tribuchet-0.1.0> --> crates/tribuchet/src/errors.rs:19:1 tribuchet-0.1.0> | tribuchet-0.1.0> 19 | pub enum Error { tribuchet-0.1.0> | ^^^^^^^^^^^^^^ tribuchet-0.1.0> = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait tribuchet-0.1.0> = help: `errors::Error` implements trait `From`: tribuchet-0.1.0> From tribuchet-0.1.0> From tribuchet-0.1.0> From tribuchet-0.1.0> From tribuchet-0.1.0> From tribuchet-0.1.0> From tribuchet-0.1.0> From tribuchet-0.1.0> From tribuchet-0.1.0> and 12 others tribuchet-0.1.0> tribuchet-0.1.0> For more information about this error, try `rustc --explain E0277`. tribuchet-0.1.0> warning: `tribuchet` (bin "tribuchet") generated 6 warnings tribuchet-0.1.0> error: could not compile `tribuchet` (bin "tribuchet") due to 3 previous errors; 6 warnings emitted error: build of '/nix/store/0p8g1g8z2z8zq78xnp5z12q8gba7vz6h-tribuchet-0.1.0.drv' on 'ssh-ng://customer@mac02' failed: Cannot build '/nix/store/0p8g1g8z2z8zq78xnp5z12q8gba7vz6h-tribuchet-0.1.0.drv'. Reason: builder failed with exit code 101. Output paths: /nix/store/xl96d3b9z684rzypwyq5yfmid66vynfi-tribuchet-0.1.0 Last 25 log lines: > 165 | owned.push(CString::new(*v)?); > | ----------------^ the trait `From` is not implemented for `errors::Error` > | | > | this can't be annotated with `?` because it has type `Result<_, std::ffi::NulError>` > | > note: `errors::Error` needs to implement `From` > --> crates/tribuchet/src/errors.rs:19:1 > | > 19 | pub enum Error { > | ^^^^^^^^^^^^^^ > = note: the question mark operation (`?`) implicitly performs a conversion on the error value using the `From` trait > = help: `errors::Error` implements trait `From`: > From > From > From > From > From > From > From > From > and 12 others > > For more information about this error, try `rustc --explain E0277`. > warning: `tribuchet` (bin "tribuchet") generated 6 warnings > error: could not compile `tribuchet` (bin "tribuchet") due to 3 previous errors; 6 warnings emitted For full logs, run: nix log /nix/store/0p8g1g8z2z8zq78xnp5z12q8gba7vz6h-tribuchet-0.1.0.drv error: Cannot build '/nix/store/0p8g1g8z2z8zq78xnp5z12q8gba7vz6h-tribuchet-0.1.0.drv'. Reason: builder failed with exit code 1. Output paths: /nix/store/xl96d3b9z684rzypwyq5yfmid66vynfi-tribuchet-0.1.0