yazi: [HELP WANTED] Fails to build in clean chroot for Arch Linux

What system are you running Yazi on?

Linux X11

What terminal are you running Yazi in?

Alacritty

Yazi version

git

Did you try the latest main branch to see if the problem has already been fixed?

Not tried, and I’ll explain why below

Describe the bug

Getting this error while building:

/usr/include/c++/13.2.1/optional:477: constexpr _Tp& std::_Optional_base_impl<_Tp, _Dp>::_M_get() [with _Tp = llvm::DIExpression::FragmentInfo; _Dp = std::_Optional_base<llvm::DIExpression::FragmentInfo, true, true>]: Assertion 'this->_M_is_engaged()' failed.
warning: `yazi-fm` (bin "yazi") generated 1 warning (run `cargo fix --bin "yazi"` to apply 1 suggestion)
error: could not compile `yazi-fm` (bin "yazi"); 1 warning emitted

Caused by:
  process didn't exit successfully: `rustc --crate-name yazi --edition=2021 yazi-fm/src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=3 -C panic=abort -C lto -C codegen-units=1 -C metadata=32f608141ca78fa4 -C extra-filename=-32f608141ca78fa4 --out-dir /build/yazi/src/yazi-0.2.1/target/release/deps -C strip=symbols -L dependency=/build/yazi/src/yazi-0.2.1/target/release/deps --extern ansi_to_tui=/build/yazi/src/yazi-0.2.1/target/release/deps/libansi_to_tui-4c40b5e30f228e57.rlib --extern anyhow=/build/yazi/src/yazi-0.2.1/target/release/deps/libanyhow-b8b7399ef15ddee7.rlib --extern better_panic=/build/yazi/src/yazi-0.2.1/target/release/deps/libbetter_panic-61c0ea25ade3722e.rlib --extern crossterm=/build/yazi/src/yazi-0.2.1/target/release/deps/libcrossterm-2b0fce3955f48ff2.rlib --extern fdlimit=/build/yazi/src/yazi-0.2.1/target/release/deps/libfdlimit-797f09692122e6b2.rlib --extern futures=/build/yazi/src/yazi-0.2.1/target/release/deps/libfutures-b091012f763d3b85.rlib --extern libc=/build/yazi/src/yazi-0.2.1/target/release/deps/liblibc-21f48c16915c17ee.rlib --extern mlua=/build/yazi/src/yazi-0.2.1/target/release/deps/libmlua-e044c9515a0bc878.rlib --extern ratatui=/build/yazi/src/yazi-0.2.1/target/release/deps/libratatui-3648e1bbea48ecea.rlib --extern signal_hook_tokio=/build/yazi/src/yazi-0.2.1/target/release/deps/libsignal_hook_tokio-7d30d945b12d1d26.rlib --extern tokio=/build/yazi/src/yazi-0.2.1/target/release/deps/libtokio-686a1e67dbbd0e08.rlib --extern tracing=/build/yazi/src/yazi-0.2.1/target/release/deps/libtracing-cb59920ad8a4fefc.rlib --extern tracing_appender=/build/yazi/src/yazi-0.2.1/target/release/deps/libtracing_appender-82563946c6f6f485.rlib --extern tracing_subscriber=/build/yazi/src/yazi-0.2.1/target/release/deps/libtracing_subscriber-5073b0c72932c00d.rlib --extern unicode_width=/build/yazi/src/yazi-0.2.1/target/release/deps/libunicode_width-7ed7e52c0f1ac3b0.rlib --extern yazi_adaptor=/build/yazi/src/yazi-0.2.1/target/release/deps/libyazi_adaptor-c715f07f393d5a70.rlib --extern yazi_config=/build/yazi/src/yazi-0.2.1/target/release/deps/libyazi_config-d2e10084a3d1e9f0.rlib --extern yazi_core=/build/yazi/src/yazi-0.2.1/target/release/deps/libyazi_core-c9942536eeaee3e1.rlib --extern yazi_plugin=/build/yazi/src/yazi-0.2.1/target/release/deps/libyazi_plugin-04d0ad234e805ccb.rlib --extern yazi_scheduler=/build/yazi/src/yazi-0.2.1/target/release/deps/libyazi_scheduler-6eb1110f285b446a.rlib --extern yazi_shared=/build/yazi/src/yazi-0.2.1/target/release/deps/libyazi_shared-215e00925aa4c24a.rlib -C debuginfo=2 --remap-path-prefix=/build/yazi/src=/usr/src/debug/yazi -L native=/build/yazi/src/yazi-0.2.1/target/release/build/mlua-sys-3495b4912f8f93f2/out/lua-build/lib -L native=/build/yazi/src/yazi-0.2.1/target/release/build/onig_sys-402a02400bed9e48/out` (signal: 6, SIGABRT: process abort signal)

Full log:

Details
==> Starting build()...
   Compiling proc-macro2 v1.0.76
   Compiling unicode-ident v1.0.12
   Compiling libc v0.2.152
   Compiling cfg-if v1.0.0
   Compiling autocfg v1.1.0
   Compiling version_check v0.9.4
   Compiling once_cell v1.19.0
   Compiling memchr v2.7.1
   Compiling log v0.4.20
   Compiling scopeguard v1.2.0
   Compiling serde v1.0.195
   Compiling crossbeam-utils v0.8.19
   Compiling smallvec v1.12.0
   Compiling heck v0.4.1
   Compiling pin-project-lite v0.2.13
   Compiling rustversion v1.0.14
   Compiling futures-core v0.3.30
   Compiling syn v1.0.109
   Compiling parking_lot_core v0.9.9
   Compiling zerocopy v0.7.32
   Compiling allocator-api2 v0.2.16
   Compiling simd-adler32 v0.3.7
   Compiling utf8parse v0.2.1
   Compiling either v1.9.0
   Compiling anyhow v1.0.79
   Compiling anstyle v1.0.4
   Compiling adler v1.0.2
   Compiling anstyle-query v1.0.2
   Compiling signal-hook v0.3.17
   Compiling colorchoice v1.0.0
   Compiling futures-sink v0.3.30
   Compiling pkg-config v0.3.28
   Compiling clap_lex v0.6.0
   Compiling strsim v0.10.0
   Compiling tinyvec_macros v0.1.1
   Compiling typenum v1.17.0
   Compiling regex-syntax v0.8.2
   Compiling itoa v1.0.10
   Compiling lazy_static v1.4.0
   Compiling crc32fast v1.3.2
   Compiling rustix v0.38.30
   Compiling rayon-core v1.12.0
   Compiling futures-task v0.3.30
   Compiling paste v1.0.14
   Compiling powerfmt v0.2.0
   Compiling bytes v1.5.0
   Compiling futures-io v0.3.30
   Compiling equivalent v1.0.1
   Compiling pin-utils v0.1.0
   Compiling bitflags v1.3.2
   Compiling linux-raw-sys v0.4.12
   Compiling percent-encoding v2.3.1
   Compiling unicode-bidi v0.3.14
   Compiling bitflags v2.4.1
   Compiling serde_json v1.0.111
   Compiling num_threads v0.1.6
   Compiling home v0.5.9
   Compiling time-core v0.1.2
   Compiling thiserror v1.0.56
   Compiling anstyle-parse v0.2.3
   Compiling tinyvec v1.6.0
   Compiling futures-channel v0.3.30
   Compiling ryu v1.0.16
   Compiling indoc v2.0.4
   Compiling cassowary v0.3.0
   Compiling miniz_oxide v0.7.1
   Compiling unicode-width v0.1.11
   Compiling unicode-segmentation v1.10.1
   Compiling winnow v0.5.34
   Compiling itertools v0.12.0
   Compiling form_urlencoded v1.2.1
   Compiling deranged v0.3.11
   Compiling tracing-core v0.1.32
   Compiling if_chain v1.0.2
   Compiling option-ext v0.2.0
   Compiling weezl v0.1.7
   Compiling zune-inflate v0.2.54
   Compiling fdeflate v0.3.3
   Compiling safemem v0.3.3
   Compiling lebe v0.5.2
   Compiling anstream v0.6.7
   Compiling bit_field v0.10.2
   Compiling base64 v0.21.7
   Compiling half v2.2.1
   Compiling same-file v1.0.6
   Compiling color_quant v1.1.0
   Compiling bytemuck v1.14.0
   Compiling itertools v0.11.0
   Compiling mutate_once v0.1.1
   Compiling minimal-lexical v0.2.1
   Compiling byteorder v1.5.0
   Compiling line-wrap v0.1.1
   Compiling shell-words v1.1.0
   Compiling glob v0.3.1
   Compiling arc-swap v1.6.0
   Compiling walkdir v2.4.0
   Compiling kamadak-exif v0.5.5
   Compiling fnv v1.0.7
   Compiling regex-syntax v0.7.5
   Compiling parking v2.2.0
   Compiling imagesize v0.12.0
   Compiling rustc-hash v1.1.0
   Compiling iana-time-zone v0.1.59
   Compiling gimli v0.28.1
   Compiling yazi-prebuild v0.1.2
   Compiling overload v0.1.1
   Compiling thread_local v1.1.7
   Compiling clap_builder v4.4.17
   Compiling sharded-slab v0.1.7
   Compiling nu-ansi-term v0.46.0
   Compiling rustc-demangle v0.1.23
   Compiling gif v0.12.0
   Compiling ahash v0.8.7
   Compiling proc-macro-error-attr v1.0.4
   Compiling proc-macro-error v1.0.4
   Compiling generic-array v0.14.7
   Compiling aho-corasick v1.1.2
   Compiling quick-xml v0.31.0
   Compiling qoi v0.4.1
   Compiling nom v7.1.3
   Compiling bstr v1.9.0
   Compiling lock_api v0.4.11
   Compiling slab v0.4.9
   Compiling num-traits v0.2.17
   Compiling flate2 v1.0.28
   Compiling tracing-log v0.2.0
   Compiling object v0.32.2
   Compiling crossbeam-epoch v0.9.18
   Compiling concurrent-queue v2.4.0
   Compiling quote v1.0.35
   Compiling crossbeam-channel v0.5.11
   Compiling hashbrown v0.14.3
   Compiling event-listener v4.0.3
   Compiling syn v2.0.48
   Compiling unicode-normalization v0.1.22
   Compiling spin v0.9.8
   Compiling cc v1.0.83
   Compiling time v0.3.31
   Compiling crossbeam-deque v0.8.5
   Compiling png v0.17.11
   Compiling signal-hook-registry v1.4.1
   Compiling mio v0.8.10
   Compiling num_cpus v1.16.0
   Compiling socket2 v0.5.5
   Compiling dirs-sys v0.4.1
   Compiling inotify-sys v0.1.5
   Compiling uzers v0.11.3
   Compiling filetime v0.2.23
   Compiling console v0.15.8
   Compiling vergen v8.2.10
   Compiling tracing-subscriber v0.3.18
   Compiling inotify v0.9.6
   Compiling async-priority-channel v0.2.0
   Compiling dirs v5.0.1
   Compiling flume v0.11.0
   Compiling parking_lot v0.12.1
   Compiling signal-hook-mio v0.2.3
   Compiling notify v6.1.1
   Compiling lua-src v546.0.2
   Compiling crossterm v0.27.0
   Compiling idna v0.5.0
   Compiling idna v0.4.0
   Compiling indexmap v2.1.0
   Compiling lru v0.12.1
   Compiling rayon v1.8.0
   Compiling exr v1.71.0
   Compiling onig_sys v69.8.1
   Compiling backtrace v0.3.69
   Compiling regex-automata v0.4.3
   Compiling url v2.5.0
   Compiling crypto-common v0.1.6
   Compiling block-buffer v0.10.4
   Compiling ordered-float v2.10.1
   Compiling chrono v0.4.31
   Compiling which v5.0.0
   Compiling digest v0.10.7
   Compiling luajit-src v210.5.4+c525bcb
   Compiling md-5 v0.10.6
   Compiling mlua-sys v0.5.0
   Compiling addr2line v0.21.0
   Compiling trash v3.2.1
   Compiling validator_types v0.16.0
   Compiling jpeg-decoder v0.3.1
   Compiling regex v1.10.2
   Compiling better-panic v0.3.0
   Compiling tiff v0.9.1
   Compiling stability v0.1.1
   Compiling validator_derive v0.16.0
   Compiling serde_derive v1.0.195
   Compiling clap_derive v4.4.7
   Compiling tokio-macros v2.2.0
   Compiling futures-macro v0.3.30
   Compiling strum_macros v0.25.3
   Compiling thiserror-impl v1.0.56
   Compiling tracing-attributes v0.1.27
   Compiling mlua_derive v0.9.1
   Compiling image v0.24.8
   Compiling tokio v1.35.1
   Compiling futures-util v0.3.30
   Compiling fdlimit v0.3.0
   Compiling tracing-appender v0.2.3
   Compiling tracing v0.1.40
   Compiling strum v0.25.0
   Compiling ratatui v0.25.0
   Compiling clap v4.4.17
   Compiling clap_complete v4.4.7
   Compiling clap_complete_nushell v4.4.2
   Compiling clap_complete_fig v4.4.2
   Compiling yazi-config v0.2.1 (/build/yazi/src/yazi-0.2.1/yazi-config)
warning: yazi-config@0.2.1: no suitable 'git' command found!
warning: yazi-config@0.2.1: VERGEN_GIT_SHA set to default
   Compiling ansi-to-tui v3.1.0
   Compiling futures-executor v0.3.30
   Compiling futures v0.3.30
   Compiling tokio-util v0.7.10
   Compiling tokio-stream v0.1.14
   Compiling signal-hook-tokio v0.3.1
   Compiling toml_datetime v0.6.5
   Compiling serde_spanned v0.6.5
   Compiling yazi-shared v0.2.1 (/build/yazi/src/yazi-0.2.1/yazi-shared)
   Compiling plist v1.6.0
   Compiling erased-serde v0.4.2
   Compiling bincode v1.3.3
   Compiling serde-value v0.7.0
   Compiling toml_edit v0.21.0
   Compiling onig v6.4.0
   Compiling mlua v0.9.4
   Compiling validator v0.16.1
   Compiling syntect v5.1.0
   Compiling toml v0.8.8
warning: glob import doesn't reexport anything because no candidate is public enough
 --> yazi-config/src/keymap/mod.rs:7:9
  |
7 | pub use exec::*;
  |         ^^^^^^^
  |
  = note: `#[warn(unused_imports)]` on by default

warning: glob import doesn't reexport anything because no candidate is public enough
 --> yazi-config/src/plugin/mod.rs:5:9
  |
5 | pub use exec::*;
  |         ^^^^^^^

   Compiling yazi-adaptor v0.2.1 (/build/yazi/src/yazi-0.2.1/yazi-adaptor)
   Compiling yazi-plugin v0.2.1 (/build/yazi/src/yazi-0.2.1/yazi-plugin)
warning: unused import: `bindings::*`
  --> yazi-plugin/src/bindings/mod.rs:11:9
   |
11 | pub use bindings::*;
   |         ^^^^^^^^^^^
   |
   = note: `#[warn(unused_imports)]` on by default

warning: unused variable: `name`
  --> yazi-plugin/src/utils/plugin.rs:10:10
   |
10 |                 |_, (name, calls, args): (String, usize, Variadic<Value>)| async move { Ok(()) },
   |                      ^^^^ help: if this is intentional, prefix it with an underscore: `_name`
   |
   = note: `#[warn(unused_variables)]` on by default

warning: unused variable: `calls`
  --> yazi-plugin/src/utils/plugin.rs:10:16
   |
10 |                 |_, (name, calls, args): (String, usize, Variadic<Value>)| async move { Ok(()) },
   |                            ^^^^^ help: if this is intentional, prefix it with an underscore: `_calls`

warning: unused variable: `args`
  --> yazi-plugin/src/utils/plugin.rs:10:23
   |
10 |                 |_, (name, calls, args): (String, usize, Variadic<Value>)| async move { Ok(()) },
   |                                   ^^^^ help: if this is intentional, prefix it with an underscore: `_args`

warning: field `stdin` is never read
  --> yazi-plugin/src/process/child.rs:10:2
   |
8  | pub struct Child {
   |            ----- field in this struct
9  |     inner:  tokio::process::Child,
10 |     stdin:  Option<ChildStdin>,
   |     ^^^^^
   |
   = note: `#[warn(dead_code)]` on by default

   Compiling yazi-scheduler v0.2.1 (/build/yazi/src/yazi-0.2.1/yazi-scheduler)
   Compiling yazi-core v0.2.1 (/build/yazi/src/yazi-0.2.1/yazi-core)
warning: `yazi-config` (lib) generated 2 warnings
warning: `yazi-plugin` (lib) generated 5 warnings (run `cargo fix --lib -p yazi-plugin` to apply 4 suggestions)
   Compiling yazi-fm v0.2.1 (/build/yazi/src/yazi-0.2.1/yazi-fm)
warning: unused import: `root::*`
  --> yazi-fm/src/main.rs:24:5
   |
24 | use root::*;
   |     ^^^^^^^
   |
   = note: `#[warn(unused_imports)]` on by default

/usr/include/c++/13.2.1/optional:477: constexpr _Tp& std::_Optional_base_impl<_Tp, _Dp>::_M_get() [with _Tp = llvm::DIExpression::FragmentInfo; _Dp = std::_Optional_base<llvm::DIExpression::FragmentInfo, true, true>]: Assertion 'this->_M_is_engaged()' failed.
warning: `yazi-fm` (bin "yazi") generated 1 warning (run `cargo fix --bin "yazi"` to apply 1 suggestion)
error: could not compile `yazi-fm` (bin "yazi"); 1 warning emitted

Caused by:
  process didn't exit successfully: `rustc --crate-name yazi --edition=2021 yazi-fm/src/main.rs --error-format=json --json=diagnostic-rendered-ansi,artifacts,future-incompat --crate-type bin --emit=dep-info,link -C opt-level=3 -C panic=abort -C lto -C codegen-units=1 -C metadata=32f608141ca78fa4 -C extra-filename=-32f608141ca78fa4 --out-dir /build/yazi/src/yazi-0.2.1/target/release/deps -C strip=symbols -L dependency=/build/yazi/src/yazi-0.2.1/target/release/deps --extern ansi_to_tui=/build/yazi/src/yazi-0.2.1/target/release/deps/libansi_to_tui-4c40b5e30f228e57.rlib --extern anyhow=/build/yazi/src/yazi-0.2.1/target/release/deps/libanyhow-b8b7399ef15ddee7.rlib --extern better_panic=/build/yazi/src/yazi-0.2.1/target/release/deps/libbetter_panic-61c0ea25ade3722e.rlib --extern crossterm=/build/yazi/src/yazi-0.2.1/target/release/deps/libcrossterm-2b0fce3955f48ff2.rlib --extern fdlimit=/build/yazi/src/yazi-0.2.1/target/release/deps/libfdlimit-797f09692122e6b2.rlib --extern futures=/build/yazi/src/yazi-0.2.1/target/release/deps/libfutures-b091012f763d3b85.rlib --extern libc=/build/yazi/src/yazi-0.2.1/target/release/deps/liblibc-21f48c16915c17ee.rlib --extern mlua=/build/yazi/src/yazi-0.2.1/target/release/deps/libmlua-e044c9515a0bc878.rlib --extern ratatui=/build/yazi/src/yazi-0.2.1/target/release/deps/libratatui-3648e1bbea48ecea.rlib --extern signal_hook_tokio=/build/yazi/src/yazi-0.2.1/target/release/deps/libsignal_hook_tokio-7d30d945b12d1d26.rlib --extern tokio=/build/yazi/src/yazi-0.2.1/target/release/deps/libtokio-686a1e67dbbd0e08.rlib --extern tracing=/build/yazi/src/yazi-0.2.1/target/release/deps/libtracing-cb59920ad8a4fefc.rlib --extern tracing_appender=/build/yazi/src/yazi-0.2.1/target/release/deps/libtracing_appender-82563946c6f6f485.rlib --extern tracing_subscriber=/build/yazi/src/yazi-0.2.1/target/release/deps/libtracing_subscriber-5073b0c72932c00d.rlib --extern unicode_width=/build/yazi/src/yazi-0.2.1/target/release/deps/libunicode_width-7ed7e52c0f1ac3b0.rlib --extern yazi_adaptor=/build/yazi/src/yazi-0.2.1/target/release/deps/libyazi_adaptor-c715f07f393d5a70.rlib --extern yazi_config=/build/yazi/src/yazi-0.2.1/target/release/deps/libyazi_config-d2e10084a3d1e9f0.rlib --extern yazi_core=/build/yazi/src/yazi-0.2.1/target/release/deps/libyazi_core-c9942536eeaee3e1.rlib --extern yazi_plugin=/build/yazi/src/yazi-0.2.1/target/release/deps/libyazi_plugin-04d0ad234e805ccb.rlib --extern yazi_scheduler=/build/yazi/src/yazi-0.2.1/target/release/deps/libyazi_scheduler-6eb1110f285b446a.rlib --extern yazi_shared=/build/yazi/src/yazi-0.2.1/target/release/deps/libyazi_shared-215e00925aa4c24a.rlib -C debuginfo=2 --remap-path-prefix=/build/yazi/src=/usr/src/debug/yazi -L native=/build/yazi/src/yazi-0.2.1/target/release/build/mlua-sys-3495b4912f8f93f2/out/lua-build/lib -L native=/build/yazi/src/yazi-0.2.1/target/release/build/onig_sys-402a02400bed9e48/out` (signal: 6, SIGABRT: process abort signal)
==> ERROR: A failure occurred in build().
    Aborting...
==> ERROR: Build failed, check /var/lib/archbuild/extra-x86_64/orhun-19/build

Expected Behavior

Successful build.

To Reproduce

Build the latest version (0.2.1) in clean chroot after bumping the pkgver variable in PKGBUILD.

Configuration

n/a

Anything else?

I cloned the fresh Git repo and tried to build - it worked fine.

I guess this is related to the chroot environment.

About this issue

  • Original URL
  • State: closed
  • Created 5 months ago
  • Comments: 18 (8 by maintainers)

Most upvoted comments

This issue was fixed by the latest Rust 1.76.0 update. I just built the package and pushed it to the repos.

Not sure what exactly was the issue but I’m happy that the latest yazi is now available to the users!

Feel free to close 🐻

Thanks a lot for the quick fix. I can confirm that I can get the latest version from the repos now.

Woww that’s awesome! Let’s close this issue then

I’ve pinned it and will see if anyone can offer some help.

Sorry I’m not familiar with ArchLinux and unsure how to resolve it.

I can confirm that rustup fixes the issue however I can’t really use that for building since it breaks reproducibility 😕

I will play around with the other options and see if I can get this fixed.

I suspect this might be related to the rust package in Arch repo.

Adding rustup to makedepends and setting export RUSTUP_TOOLCHAIN=stable fixes the build in the clean chroot.