Getting build error from `nix build` although there's no error?

Hello guys!

If I try to build rio with nix build github:raphamorim/rio then I’m getting the following error message:

error: builder for '/nix/store/k7p4293v0qpid41l2gav1p07b698z0rh-rio.drv' failed with exit code 129;
       last 25 log lines:
       > test bindings::tests::binding_matches_identical_mode ... ok
       > test bindings::tests::binding_matches_itself ... ok
       > test bindings::tests::binding_matches_modes ... ok
       > test bindings::tests::binding_matches_mode_notmode ... ok
       > test bindings::tests::binding_matches_notmodes ... ok
       > test bindings::tests::binding_matches_partial_intersection ... ok
       > test bindings::tests::binding_mismatches_notmode ... ok
       > test bindings::tests::binding_mismatches_unrelated ... ok
       > test bindings::tests::binding_trigger_modes ... ok
       > test bindings::tests::binding_trigger_notmodes ... ok
       > test bindings::tests::binding_with_mode_matches_empty_mode ... ok
       > test bindings::tests::binding_without_mode_matches_any_mode ... ok
       > test bindings::tests::bindings_overwrite ... ok
       > test bindings::tests::mods_binding_requires_strict_match ... ok
       > test mouse::test::test_pos_calc_moving_mouse_x_with_scale_1_with_margin_10 ... ok
       > test mouse::test::test_pos_calc_moving_mouse_x_with_scale_2 ... ok
       > test mouse::test::test_pos_calc_font_size_12_6_moving_mouse_x_with_scale_1_with_margin_10 ... ok
       > test mouse::test::test_pos_calc_moving_mouse_x_with_scale_2_with_margin_10 ... ok
       > test mouse::test::test_pos_calc_moving_mouse_x_with_scale_1 ... ok
       > test renderer::navigation::tests::test_get_color_overwrite ... ok
       > test context::grid::test::test_single_context_respecting_margin_and_no_quad_creation ... ok
       > test context::test::test_capacity ... ok
       > test context::test::test_close_last_context ... ok
       > test context::grid::test::test_split_down ... ok
       > test context::grid::test::test_resize ... ok
       For full logs, run 'nix log /nix/store/k7p4293v0qpid41l2gav1p07b698z0rh-rio.drv'.

But nix log /nix/store/k7p4293v0qpid41l2gav1p07b698z0rh-rio.drv gives me the following output in the end:

    Running unittests src/main.rs (target/x86_64-unknown-linux-gnu/release/deps/rio-01279b459c9155fa)

running 33 tests
test bindings::tests::binding_matches_different_action ... ok
test bindings::tests::binding_matches_identical_mode ... ok
test bindings::tests::binding_matches_itself ... ok
test bindings::tests::binding_matches_modes ... ok
test bindings::tests::binding_matches_mode_notmode ... ok
test bindings::tests::binding_matches_notmodes ... ok
test bindings::tests::binding_matches_partial_intersection ... ok
test bindings::tests::binding_mismatches_notmode ... ok
test bindings::tests::binding_mismatches_unrelated ... ok
test bindings::tests::binding_trigger_modes ... ok
test bindings::tests::binding_trigger_notmodes ... ok
test bindings::tests::binding_with_mode_matches_empty_mode ... ok
test bindings::tests::binding_without_mode_matches_any_mode ... ok
test bindings::tests::bindings_overwrite ... ok
test bindings::tests::mods_binding_requires_strict_match ... ok
test mouse::test::test_pos_calc_moving_mouse_x_with_scale_1_with_margin_10 ... ok
test mouse::test::test_pos_calc_moving_mouse_x_with_scale_2 ... ok
test mouse::test::test_pos_calc_font_size_12_6_moving_mouse_x_with_scale_1_with_margin_10 ... ok
test mouse::test::test_pos_calc_moving_mouse_x_with_scale_2_with_margin_10 ... ok
test mouse::test::test_pos_calc_moving_mouse_x_with_scale_1 ... ok
test renderer::navigation::tests::test_get_color_overwrite ... ok
test context::grid::test::test_single_context_respecting_margin_and_no_quad_creation ... ok
test context::test::test_capacity ... ok
test context::test::test_close_last_context ... ok
test context::grid::test::test_split_down ... ok
test context::grid::test::test_resize ... ok

Also building the project with cargo build (just clone the repo, navigate into it, enable direnv, then execute cargo build) works (even cargo run)!

May I ask what could be the reason why the build fails with nix build?

Is that all this reported? It isn’t a given that the failure is at the end.

1 Like

Here’s the full output.
Created with PAGER=cat nix log /nix/store/k7p4293v0qpid41l2gav1p07b698z0rh-rio.drv.

I think you’re running into something real in the underlying repo’s main branch. I see a very similar error in their most recent nix build job:

Maybe try targeting the same commit as the latest green build here: Nix Build · Workflow runs · raphamorim/rio · GitHub (or try targeting a specific release).