martinvonz / jj

A Git-compatible VCS that is both simple and powerful
https://martinvonz.github.io/jj/
Apache License 2.0
8.39k stars 289 forks source link

`nix run`: Cannot execute latest prerelease version of `jj` #3161

Closed bnjmnt4n closed 7 months ago

bnjmnt4n commented 7 months ago

Description

Steps to Reproduce the Problem

  1. Execute nix run 'github:martinvonz/jj'

Expected Behavior

I should be able to execute the jj binary.

Actual Behavior

I get the following error:

error: creating test list failed

Caused by:
  for `jj-lib-proc-macros`, command `/private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/target/release/deps/jj_lib_proc_macros-1debf585481c427f --list --format terse` exited with signal 6 (SIGABRT)
--- stdout:

--- stderr:
dyld[67903]: Library not loaded: @rpath/libtest-88e97e58e3f4c34e.dylib
  Referenced from: <AD211D3E-FD15-35D0-8619-F904A9F85F2F> /private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/target/release/deps/jj_lib_proc_macros-1debf585481c427f
  Reason: tried: '/private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/target/aarch64-apple-darwin/release/build/libgit2-sys-ea5f14cdceab7af0/out/build/libtest-88e97e58e3f4c34e.dylib' (no such file), '/private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/target/aarch64-apple-darwin/release/build/libz-sys-defbe9ee827e75ea/out/lib/libtest-88e97e58e3f4c34e.dylib' (no such file), '/private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/target/aarch64-apple-darwin/release/deps/libtest-88e97e58e3f4c34e.dylib' (no such file), '/private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/target/aarch64-apple-darwin/release/libtest-88e97e58e3f4c34e.dylib' (no such file), '/private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/target/release/deps/libtest-88e97e58e3f4c34e.dylib' (no such file), '/private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/target/release/libtest-88e97e58e3f4c34e.dylib' (no such file), '/homeless-shelter/lib/libtest-88e97e58e3f4c34e.dylib' (no such file), '/usr/local/lib/libtest-88e97e58e3f4c34e.dylib' (no such file), '/usr/lib/libtest-88e97e58e3f4c34e.dylib' (no such file, not in dyld cache)
Full Nix log ``` @nix { "action": "setPhase", "phase": "unpackPhase" } Running phase: unpackPhase unpacking source archive /nix/store/zhrfidnw78ja1v4rf5rfjnn72sgrwfpn-source source root is source Executing cargoSetupPostUnpackHook Finished cargoSetupPostUnpackHook @nix { "action": "setPhase", "phase": "patchPhase" } Running phase: patchPhase Executing cargoSetupPostPatchHook Validating consistency between /private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/Cargo.lock and /private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/cargo-vendor-dir/Cargo.lock Finished cargoSetupPostPatchHook @nix { "action": "setPhase", "phase": "updateAutotoolsGnuConfigScriptsPhase" } Running phase: updateAutotoolsGnuConfigScriptsPhase @nix { "action": "setPhase", "phase": "configurePhase" } Running phase: configurePhase @nix { "action": "setPhase", "phase": "buildPhase" } Running phase: buildPhase Executing cargoBuildHook ++ env CC_AARCH64_APPLE_DARWIN=/nix/store/65lhhpbfnsf9b3knd4q2l49y7107fisp-clang-wrapper-16.0.6/bin/cc CXX_AARCH64_APPLE_DARWIN=/nix/store/65lhhpbfnsf9b3knd4q2l49y7107fisp-clang-wrapper-16.0.6/bin/c++ CARGO_TARGET_AARCH64_APPLE_DARWIN_LINKER=/nix/store/65lhhpbfnsf9b3knd4q2l49y7107fisp-clang-wrapper-16.0.6/bin/cc CC_AARCH64_APPLE_DARWIN=/nix/store/65lhhpbfnsf9b3knd4q2l49y7107fisp-clang-wrapper-16.0.6/bin/cc CXX_AARCH64_APPLE_DARWIN=/nix/store/65lhhpbfnsf9b3knd4q2l49y7107fisp-clang-wrapper-16.0.6/bin/c++ CARGO_TARGET_AARCH64_APPLE_DARWIN_LINKER=/nix/store/65lhhpbfnsf9b3knd4q2l49y7107fisp-clang-wrapper-16.0.6/bin/cc CARGO_BUILD_TARGET=aarch64-apple-darwin HOST_CC=/nix/store/65lhhpbfnsf9b3knd4q2l49y7107fisp-clang-wrapper-16.0.6/bin/cc HOST_CXX=/nix/store/65lhhpbfnsf9b3knd4q2l49y7107fisp-clang-wrapper-16.0.6/bin/c++ cargo build -j 10 --target aarch64-apple-darwin --frozen --profile release --features=packaging --bin jj  Compiling proc-macro2 v1.0.78  Compiling unicode-ident v1.0.12  Compiling libc v0.2.153  Compiling cfg-if v1.0.0  Compiling thiserror v1.0.57  Compiling autocfg v1.1.0  Compiling parking_lot_core v0.9.9  Compiling memchr v2.7.1  Compiling smallvec v1.13.1  Compiling serde v1.0.197  Compiling crossbeam-utils v0.8.19  Compiling regex-syntax v0.8.2  Compiling scopeguard v1.2.0  Compiling lock_api v0.4.11  Compiling either v1.10.0  Compiling aho-corasick v1.1.2  Compiling tinyvec_macros v0.1.1  Compiling bitflags v2.4.2  Compiling tinyvec v1.6.0  Compiling regex-automata v0.4.4  Compiling unicode-normalization v0.1.22  Compiling rayon-core v1.12.1  Compiling quote v1.0.35  Compiling syn v2.0.51  Compiling bstr v1.9.0  Compiling crc32fast v1.3.2  Compiling gix-trace v0.1.7  Compiling same-file v1.0.6  Compiling fastrand v2.0.1  Compiling adler v1.0.2  Compiling miniz_oxide v0.7.1  Compiling crossbeam-epoch v0.9.18  Compiling crossbeam-channel v0.5.11  Compiling crossbeam-deque v0.8.5  Compiling crossbeam-queue v0.3.11  Compiling crossbeam v0.8.4  Compiling walkdir v2.4.0  Compiling gix-utils v0.1.9  Compiling num-traits v0.2.17  Compiling prodash v28.0.0  Compiling sha1_smol v1.0.0  Compiling once_cell v1.19.0  Compiling parking_lot v0.12.1  Compiling pkg-config v0.3.29  Compiling rustix v0.38.31  Compiling itoa v1.0.10  Compiling errno v0.3.8  Compiling powerfmt v0.2.0  Compiling time-core v0.1.2  Compiling serde_derive v1.0.197  Compiling thiserror-impl v1.0.57  Compiling deranged v0.3.11  Compiling time-macros v0.2.16  Compiling rayon v1.9.0  Compiling flate2 v1.0.28  Compiling num_threads v0.1.6  Compiling winnow v0.5.34  Compiling log v0.4.20  Compiling memmap2 v0.9.3  Compiling hashbrown v0.14.3  Compiling jobserver v0.1.27  Compiling time v0.3.31  Compiling cc v1.0.83  Compiling vcpkg v0.2.15  Compiling jwalk v0.8.1  Compiling home v0.5.9  Compiling pin-project-lite v0.2.13  Compiling signal-hook-registry v1.4.1  Compiling heck v0.4.1  Compiling mio v0.8.10  Compiling btoi v0.4.3  Compiling anyhow v1.0.80  Compiling openssl-sys v0.9.98  Compiling libz-sys v1.1.14  Compiling gix-validate v0.8.3  Compiling gix-chunk v0.4.7  Compiling gix-path v0.10.5  Compiling slab v0.4.9  Compiling utf8parse v0.2.1  Compiling typenum v1.17.0  Compiling tempfile v3.10.1  Compiling version_check v0.9.4  Compiling generic-array v0.14.7  Compiling anstyle-parse v0.2.3  Compiling strsim v0.11.0  Compiling futures-sink v0.3.30  Compiling futures-core v0.3.30  Compiling signal-hook v0.3.17  Compiling colorchoice v1.0.0  Compiling anstyle-query v1.0.2  Compiling anstyle v1.0.4  Compiling anstream v0.6.11  Compiling gix-date v0.8.3  Compiling gix-actor v0.30.0  Compiling terminal_size v0.3.0  Compiling libssh2-sys v0.3.0  Compiling zstd-sys v2.0.9+zstd.1.5.5  Compiling tracing-core v0.1.32  Compiling faster-hex v0.9.0  Compiling percent-encoding v2.3.1  Compiling gix-hash v0.14.1  Compiling clap_lex v0.7.0  Compiling gix-features v0.38.0  Compiling gix-hashtable v0.5.1  Compiling rustversion v1.0.14  Compiling futures-io v0.3.30  Compiling unicode-bidi v0.3.15  Compiling clap_builder v4.5.1  Compiling gix-object v0.41.0  Compiling gix-fs v0.10.0  Compiling gix-tempfile v13.1.0  Compiling gix-commitgraph v0.24.0  Compiling gix-lock v13.1.0  Compiling gix-revwalk v0.12.0  Compiling idna v0.5.0  Compiling form_urlencoded v1.2.1  Compiling bytes v1.5.0  Compiling futures-channel v0.3.30  Compiling clap_derive v4.5.0  Compiling tracing-attributes v0.1.27  Compiling futures-macro v0.3.30  Compiling getrandom v0.2.12  Compiling serde_json v1.0.114  Compiling ucd-trie v0.1.6  Compiling semver v1.0.21  Compiling futures-task v0.3.30  Compiling lazy_static v1.4.0  Compiling arrayvec v0.7.4  Compiling camino v1.1.6  Compiling pin-utils v0.1.0  Compiling futures v0.1.31  Compiling tracing v0.1.40  Compiling uluru v3.0.0  Compiling clap v4.5.1  Compiling pest v2.7.7  Compiling futures-util v0.3.30  Compiling rand_core v0.6.4  Compiling signal-hook-mio v0.2.3  Compiling url v2.5.0  Compiling gix-ref v0.41.0  Compiling libgit2-sys v0.16.2+1.7.2  Compiling tokio-macros v2.2.0  Compiling gix-sec v0.10.4  Compiling iovec v0.1.4  Compiling num_cpus v1.16.0  Compiling socket2 v0.5.5  Compiling regex v1.10.3  Compiling zstd-safe v6.0.6  Compiling paste v1.0.14  Compiling byteorder v1.5.0  Compiling clru v0.6.1  Compiling regex-syntax v0.6.29  Compiling ryu v1.0.16  Compiling unicode-width v0.1.11  Compiling ppv-lite86 v0.2.17  Compiling async-trait v0.1.77  Compiling rand_chacha v0.3.1  Compiling regex-automata v0.1.10  Compiling gix-pack v0.47.0  Compiling bytes v0.4.12  Compiling pest_meta v2.7.7  Compiling itertools v0.11.0  Compiling tokio v1.36.0  Compiling strum_macros v0.25.3  Compiling futures-executor v0.3.30  Compiling crossterm v0.27.0  Compiling crypto-common v0.1.6  Compiling block-buffer v0.10.4  Compiling gix-revision v0.26.0  Compiling gix-traverse v0.37.0  Compiling cargo-platform v0.1.6  Compiling gix-glob v0.16.0  Compiling gix-config-value v0.14.4  Compiling gix-quote v0.4.10  Compiling gix-bitmap v0.2.10  Compiling filetime v0.2.23  Compiling unicode-bom v2.0.3  Compiling arc-swap v1.6.0  Compiling core-foundation-sys v0.8.6  Compiling minimal-lexical v0.2.1  Compiling ref-cast v1.0.22  Compiling subtle v2.5.0  Compiling overload v0.1.1  Compiling digest v0.10.7  Compiling nom v7.1.3  Compiling iana-time-zone v0.1.60  Compiling nu-ansi-term v0.46.0  Compiling gix-odb v0.57.0  Compiling gix-config v0.34.0  Compiling gix-index v0.29.0  Compiling gix-refspec v0.22.0  Compiling cargo_metadata v0.17.0  Compiling futures v0.3.30  Compiling prost-derive v0.12.3  Compiling strum v0.25.0  Compiling pest_generator v2.7.7  Compiling serde_bser v0.3.1  Compiling matchers v0.1.0  Compiling rand v0.8.5  Compiling gix-discover v0.29.0  Compiling tokio-util v0.6.10  Compiling gix-url v0.27.0  Compiling sharded-slab v0.1.7  Compiling gix-diff v0.40.0  Compiling toml v0.5.11  Compiling tracing-log v0.2.0  Compiling globset v0.4.14  Compiling gix-macros v0.1.3  Compiling ref-cast-impl v1.0.22  Compiling thread_local v1.1.7  Compiling instant v0.1.12  Compiling equivalent v1.0.1  Compiling smawk v0.3.2  Compiling pathdiff v0.2.1  Compiling unicode-segmentation v1.10.1  Compiling cassowary v0.3.0  Compiling maplit v1.0.2  Compiling indoc v2.0.4  Compiling option-ext v0.2.0  Compiling unicode-linebreak v0.1.5  Compiling dirs-sys v0.4.1  Compiling watchman_client v0.8.0  Compiling textwrap v0.16.1  Compiling ratatui v0.23.0  Compiling config v0.13.4  Compiling indexmap v2.2.3  Compiling backoff v0.4.0  Compiling gix v0.58.0  Compiling tracing-subscriber v0.3.18  Compiling ignore v0.4.22  Compiling prost v0.12.3  Compiling pest_derive v2.7.7  Compiling jj-cli v0.14.0 (/private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/cli)  Compiling zstd v0.12.4  Compiling blake2 v0.10.6  Compiling chrono v0.4.34  Compiling clap_complete v4.5.1  Compiling serde_spanned v0.6.5  Compiling toml_datetime v0.6.5  Compiling jj-lib-proc-macros v0.14.0 (/private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/lib/proc-macros)  Compiling rtoolbox v0.0.2  Compiling itertools v0.12.1  Compiling itertools v0.10.5  Compiling hex v0.4.3  Compiling glob v0.3.1  Compiling roff v0.2.1  Compiling pollster v0.3.0  Compiling whoami v1.4.1  Compiling bitflags v1.3.2  Compiling esl01-renderdag v0.3.0  Compiling clap_mangen v0.2.17  Compiling rpassword v7.3.1  Compiling toml_edit v0.19.15  Compiling clap_complete_nushell v4.5.1  Compiling scm-record v0.2.0  Compiling tracing-chrome v0.7.1  Compiling minus v5.5.3  Compiling dirs v5.0.1  Compiling clap-markdown v0.1.3  Compiling timeago v0.4.2  Compiling git2 v0.18.2  Compiling jj-lib v0.14.0 (/private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/lib)  Finished release [optimized] target(s) in 1m 36s Executing cargoInstallPostBuildHook Finished cargoInstallPostBuildHook Finished cargoBuildHook buildPhase completed in 1 minutes 37 seconds @nix { "action": "setPhase", "phase": "checkPhase" } Running phase: checkPhase Executing cargoNextestHook ++ cargo nextest run -j 10 --cargo-profile release --features=packaging --target aarch64-apple-darwin --frozen --  Compiling bstr v1.9.0  Compiling libz-sys v1.1.14  Compiling openssl-sys v0.9.98  Compiling cfg-if v1.0.0  Compiling jj-cli v0.14.0 (/private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/cli)  Compiling linked-hash-map v0.5.6  Compiling console v0.15.8  Compiling similar v2.4.0  Compiling assert_matches v1.5.0  Compiling predicates-core v1.0.6  Compiling test-case-core v3.3.1  Compiling doc-comment v0.3.3  Compiling yaml-rust v0.4.5  Compiling termtree v0.4.1  Compiling difflib v0.4.0  Compiling gix-date v0.8.3  Compiling gix-actor v0.30.0  Compiling gix-validate v0.8.3  Compiling gix-object v0.41.0  Compiling gix-path v0.10.5  Compiling gix-commitgraph v0.24.0  Compiling gix-glob v0.16.0  Compiling gix-config-value v0.14.4  Compiling gix-quote v0.4.10  Compiling gix-revwalk v0.12.0  Compiling gix-ref v0.41.0  Compiling gix-revision v0.26.0  Compiling gix-traverse v0.37.0  Compiling gix-pack v0.47.0  Compiling gix-index v0.29.0  Compiling gix-refspec v0.22.0  Compiling gix-diff v0.40.0  Compiling gix-url v0.27.0  Compiling globset v0.4.14  Compiling gix-config v0.34.0  Compiling gix-discover v0.29.0  Compiling gix-odb v0.57.0  Compiling ignore v0.4.22  Compiling test-case-macros v3.3.1  Compiling gix v0.58.0  Compiling test-case v3.3.1  Compiling insta v1.35.1  Compiling predicates v3.1.0  Compiling predicates-tree v1.0.9  Compiling wait-timeout v0.2.0  Compiling assert_cmd v2.0.13  Compiling proc-macro2 v1.0.78  Compiling plotters-backend v0.3.5  Compiling ciborium-io v0.2.1  Compiling half v1.8.2  Compiling unicode-ident v1.0.12  Compiling ciborium-ll v0.2.1  Compiling plotters-svg v0.3.5  Compiling cast v0.3.0  Compiling ciborium v0.2.1  Compiling criterion-plot v0.5.0  Compiling quote v1.0.35  Compiling plotters v0.3.5  Compiling tinytemplate v1.2.1  Compiling is-terminal v0.4.10  Compiling oorandom v11.1.3  Compiling yansi v0.5.1  Compiling diff v0.1.13  Compiling anes v0.1.6  Compiling prettyplease v0.2.15  Compiling pretty_assertions v1.4.0  Compiling syn v2.0.51  Compiling fixedbitset v0.4.2  Compiling prost-types v0.12.3  Compiling criterion v0.5.1  Compiling petgraph v0.6.4  Compiling which v4.4.2  Compiling heck v0.4.1  Compiling multimap v0.8.3  Compiling jj-lib-proc-macros v0.14.0 (/private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/lib/proc-macros)  Compiling libssh2-sys v0.3.0  Compiling prost-build v0.12.3  Compiling libgit2-sys v0.16.2+1.7.2  Compiling git2 v0.18.2  Compiling gen-protos v0.14.0 (/private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/lib/gen-protos)  Compiling jj-lib v0.14.0 (/private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/lib)  Compiling testutils v0.14.0 (/private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/lib/testutils)  Finished release [optimized] target(s) in 1m 56s error: creating test list failed Caused by: for `jj-lib-proc-macros`, command `/private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/target/release/deps/jj_lib_proc_macros-1debf585481c427f --list --format terse` exited with signal 6 (SIGABRT) --- stdout: --- stderr: dyld[67903]: Library not loaded: @rpath/libtest-88e97e58e3f4c34e.dylib Referenced from: /private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/target/release/deps/jj_lib_proc_macros-1debf585481c427f Reason: tried: '/private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/target/aarch64-apple-darwin/release/build/libgit2-sys-ea5f14cdceab7af0/out/build/libtest-88e97e58e3f4c34e.dylib' (no such file), '/private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/target/aarch64-apple-darwin/release/build/libz-sys-defbe9ee827e75ea/out/lib/libtest-88e97e58e3f4c34e.dylib' (no such file), '/private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/target/aarch64-apple-darwin/release/deps/libtest-88e97e58e3f4c34e.dylib' (no such file), '/private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/target/aarch64-apple-darwin/release/libtest-88e97e58e3f4c34e.dylib' (no such file), '/private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/target/release/deps/libtest-88e97e58e3f4c34e.dylib' (no such file), '/private/tmp/nix-build-jujutsu-unstable-1d4860c.drv-0/source/target/release/libtest-88e97e58e3f4c34e.dylib' (no such file), '/homeless-shelter/lib/libtest-88e97e58e3f4c34e.dylib' (no such file), '/usr/local/lib/libtest-88e97e58e3f4c34e.dylib' (no such file), '/usr/lib/libtest-88e97e58e3f4c34e.dylib' (no such file, not in dyld cache) --- ```

It seems to build fine, but the checkPhase is the one that's failing.

I am by no means a very experienced Nix user, do let me know if I'm making an error here.

Workaround

Overriding the derivation with doCheck = false does give me a working binary.

  jujutsu = prev.jujutsu.overrideAttrs (old: {
    doCheck = false;
  });

Specifications

thoughtpolice commented 7 months ago

This will be fixed by https://github.com/martinvonz/jj/pull/3136

bnjmnt4n commented 7 months ago

@thoughtpolice thanks, I didn't see that issue when searching directly for the error message. Should I close this issue, or leave it open until the PR is merged?

thoughtpolice commented 7 months ago

@thoughtpolice thanks, I didn't see that issue when searching directly for the error message. Should I close this issue, or leave it open until the PR is merged?

I made sure to add this issue to the PR so it would auto-close when merged. :) You should be good to go now if you just try nix run or nix profile install.