Solved Poudriere: unable to compile rust-1.99.1_1

Hello, I'm having issue while compiling "rust-1.99.1_1" with poudriere, while 'rust-1.98.1' was successfully compiled a week ago:


Code:
       Fresh color-print v0.3.7
       Fresh rustc_tools_util v0.4.2 (/wrkdirs/usr/ports/lang/rust/work/rustc-1.99.1-src/src/tools/clippy/rustc_tools_util)
       Fresh clippy v0.1.99 (/wrkdirs/usr/ports/lang/rust/work/rustc-1.99.1-src/src/tools/clippy)
    Finished `release` profile [optimized] target(s) in 0.37s
Dist clippy-1.99.1-x86_64-unknown-freebsd
running: LD_LIBRARY_PATH="" RUSTC="/wrkdirs/usr/ports/lang/rust/work/bootstrap/bin/rustc" "/wrkdirs/usr/ports/lang/rust/work/_build/x86_64-unknown-freebsd/stage1-tools-bin/rust-installer" "generate" "--image-dir" "/wrkdirs/usr/ports/lang/rust/work/_build/tmp/tarball/clippy/x86_64-unknown-freebsd/image" "--component-name=clippy-preview" "--rel-manifest-dir=rustlib" "--legacy-manifest-dirs=rustlib,cargo" "--product-name=Rust" "--success-message=clippy installed." "--package-name=clippy-1.99.1-x86_64-unknown-freebsd" "--non-installed-overlay" "/wrkdirs/usr/ports/lang/rust/work/_build/tmp/tarball/clippy/x86_64-unknown-freebsd/overlay" "--output-dir" "/wrkdirs/usr/ports/lang/rust/work/_build/dist" "--work-dir" "/wrkdirs/usr/ports/lang/rust/work/_build/tmp/tarball/clippy/x86_64-unknown-freebsd" "--compression-formats" "xz" "--compression-profile" "balanced" (failure_mode=Exit) (created at src/bootstrap/src/core/build_steps/tool.rs:1607:23, executed at src/bootstrap/src/utils/tarball.rs:426:13)
    finished in 5.160 seconds
running "/wrkdirs/usr/ports/lang/rust/work/_build/x86_64-unknown-freebsd/llvm/bin/llvm-config" "--libfiles" (failure_mode=Exit)
running: "/wrkdirs/usr/ports/lang/rust/work/_build/x86_64-unknown-freebsd/llvm/bin/llvm-config" "--libfiles" (failure_mode=Exit) (created at src/bootstrap/src/core/build_steps/dist.rs:2538:23, executed at src/bootstrap/src/core/build_steps/dist.rs:2542:25)
Dist rust-dev-1.99.1-x86_64-unknown-freebsd
running: LD_LIBRARY_PATH="" RUSTC="/wrkdirs/usr/ports/lang/rust/work/bootstrap/bin/rustc" "/wrkdirs/usr/ports/lang/rust/work/_build/x86_64-unknown-freebsd/stage1-tools-bin/rust-installer" "generate" "--image-dir" "/wrkdirs/usr/ports/lang/rust/work/_build/tmp/tarball/rust-dev/x86_64-unknown-freebsd/image" "--component-name=rust-dev" "--rel-manifest-dir=rustlib" "--legacy-manifest-dirs=rustlib,cargo" "--product-name=Rust" "--success-message=rust-dev installed." "--package-name=rust-dev-1.99.1-x86_64-unknown-freebsd" "--non-installed-overlay" "/wrkdirs/usr/ports/lang/rust/work/_build/tmp/tarball/rust-dev/x86_64-unknown-freebsd/overlay" "--output-dir" "/wrkdirs/usr/ports/lang/rust/work/_build/dist" "--work-dir" "/wrkdirs/usr/ports/lang/rust/work/_build/tmp/tarball/rust-dev/x86_64-unknown-freebsd" "--compression-formats" "xz" "--compression-profile" "balanced" (failure_mode=Exit) (created at src/bootstrap/src/core/build_steps/tool.rs:1607:23, executed at src/bootstrap/src/utils/tarball.rs:426:13)
Error: failed to generate installer

Caused by:
    0: failed to copy '/wrkdirs/usr/ports/lang/rust/work/_build/tmp/tarball/rust-dev/x86_64-unknown-freebsd/image/bin/llvm-debuginfod' to '/wrkdirs/usr/ports/lang/rust/work/_build/tmp/tarball/rust-dev/x86_64-unknown-freebsd/rust-dev-1.99.1-x86_64-unknown-freebsd/rust-dev/bin/llvm-debuginfod'
    1: No space left on device (os error 28)

Stack backtrace:
   0: <core::io::error::Error as anyhow::context::ext::StdError>::ext_context::<alloc::string::String>
   1: installer::util::copy::<&std::path::Path, std::path::PathBuf>
   2: installer::util::copy_with_callback::<installer::generator::copy_and_manifest::{closure#1}>
   3: <installer::generator::Generator>::run
   4: rust_installer::main
   5: std::sys::backtrace::__rust_begin_short_backtrace::<fn() -> core::result::Result<(), anyhow::Error>, core::result::Result<(), anyhow::Error>>
   6: std::rt::lang_start::<core::result::Result<(), anyhow::Error>>::{closure#0}
   7: std::rt::lang_start_internal
   8: main
   9: __libc_start1
  10: _start
             at /usr/src/lib/csu/amd64/crt1_s.S:80:0
Command `LD_LIBRARY_PATH="" RUSTC="/wrkdirs/usr/ports/lang/rust/work/bootstrap/bin/rustc" "/wrkdirs/usr/ports/lang/rust/work/_build/x86_64-unknown-freebsd/stage1-tools-bin/rust-installer" "generate" "--image-dir" "/wrkdirs/usr/ports/lang/rust/work/_build/tmp/tarball/rust-dev/x86_64-unknown-freebsd/image" "--component-name=rust-dev" "--rel-manifest-dir=rustlib" "--legacy-manifest-dirs=rustlib,cargo" "--product-name=Rust" "--success-message=rust-dev installed." "--package-name=rust-dev-1.99.1-x86_64-unknown-freebsd" "--non-installed-overlay" "/wrkdirs/usr/ports/lang/rust/work/_build/tmp/tarball/rust-dev/x86_64-unknown-freebsd/overlay" "--output-dir" "/wrkdirs/usr/ports/lang/rust/work/_build/dist" "--work-dir" "/wrkdirs/usr/ports/lang/rust/work/_build/tmp/tarball/rust-dev/x86_64-unknown-freebsd" "--compression-formats" "xz" "--compression-profile" "balanced" (failure_mode=Exit)` failed with exit code 1
Created at: src/bootstrap/src/core/build_steps/tool.rs:1607:23
Executed at: src/bootstrap/src/utils/tarball.rs:426:13

--- BACKTRACE vvv
   0: <bootstrap::utils::exec::DeferredCommand>::finish_process
             at ./src/bootstrap/src/utils/exec.rs:934:17
   1: <bootstrap::utils::exec::DeferredCommand>::wait_for_output::<&bootstrap::utils::exec::ExecutionContext>
             at ./src/bootstrap/src/utils/exec.rs:830:21
   2: <bootstrap::utils::exec::ExecutionContext>::run
             at ./src/bootstrap/src/utils/exec.rs:740:45
   3: <bootstrap::utils::exec::BootstrapCommand>::run::<&bootstrap::core::builder::Builder>
             at ./src/bootstrap/src/utils/exec.rs:338:27
   4: <bootstrap::utils::tarball::Tarball>::run::<<bootstrap::utils::tarball::Tarball>::generate::{closure#0}>
             at ./src/bootstrap/src/utils/tarball.rs:426:13
   5: <bootstrap::utils::tarball::Tarball>::generate
             at ./src/bootstrap/src/utils/tarball.rs:273:14
   6: <bootstrap::core::build_steps::dist::RustDev as bootstrap::core::builder::CommandLineStep>::run
             at ./src/bootstrap/src/core/build_steps/dist.rs:2980:22
   7: <bootstrap::core::build_steps::dist::RustDev as bootstrap::core::builder::Step>::run
             at ./src/bootstrap/src/core/builder/mod.rs:130:9
   8: <bootstrap::core::builder::Builder>::ensure::<bootstrap::core::build_steps::dist::RustDev>
             at ./src/bootstrap/src/core/builder/mod.rs:1618:36
   9: <bootstrap::core::build_steps::dist::RustDev as bootstrap::core::builder::CommandLineStep>::make_run
             at ./src/bootstrap/src/core/build_steps/dist.rs:2898:21
  10: <bootstrap::core::builder::CommandLineStepDescription>::maybe_run
             at ./src/bootstrap/src/core/builder/mod.rs:463:13
  11: bootstrap::core::builder::cli_paths::match_paths_to_steps_and_run
             at ./src/bootstrap/src/core/builder/cli_paths.rs:53:22
  12: <bootstrap::core::builder::Builder>::run_step_descriptions
             at ./src/bootstrap/src/core/builder/mod.rs:1144:9
  13: <bootstrap::core::builder::Builder>::execute_cli
             at ./src/bootstrap/src/core/builder/mod.rs:1102:14
  14: <bootstrap::Build>::build
             at ./src/bootstrap/src/lib.rs:801:25
  15: bootstrap::cli_main::main
             at ./src/bootstrap/src/cli_main.rs:161:11
  16: bootstrap::main
             at ./src/bootstrap/src/bin/main.rs:7:5
  17: <fn() as core::ops::function::FnOnce<()>>::call_once
             at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/core/src/ops/function.rs:250:5
  18: std::sys::backtrace::__rust_begin_short_backtrace::<fn(), ()>
             at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/sys/backtrace.rs:166:18
  19: std::rt::lang_start::<()>::{closure#0}
             at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/rt.rs:206:18
  20: std::rt::lang_start_internal
  21: std::rt::lang_start::<()>
             at /rustc/48a229ceaefd4985c50990b14116b6d856af0985/library/std/src/rt.rs:205:5
  22: main
  23: __libc_start1
  24: _start
             at /usr/src/lib/csu/amd64/crt1_s.S:80:0


Traceback (most recent call last):
  File "/wrkdirs/usr/ports/lang/rust/work/rustc-1.99.1-src/x.py", line 53, in <module>
    bootstrap.main()
  File "/wrkdirs/usr/ports/lang/rust/work/rustc-1.99.1-src/src/bootstrap/bootstrap.py", line 1456, in main
    bootstrap(args)
  File "/wrkdirs/usr/ports/lang/rust/work/rustc-1.99.1-src/src/bootstrap/bootstrap.py", line 1414, in bootstrap
    run(args, env=env, verbose=build.verbose, is_bootstrap=True)
  File "/wrkdirs/usr/ports/lang/rust/work/rustc-1.99.1-src/src/bootstrap/bootstrap.py", line 237, in run
    raise RuntimeError(err)
RuntimeError: failed to run: /wrkdirs/usr/ports/lang/rust/work/_build/bootstrap/debug/bootstrap dist --jobs=1
*** Error code 1

Stop.
make: stopped making "build" in /usr/ports/lang/rust
=>> Cleaning up wrkdir
===>  Cleaning for rust-1.99.1_1
build of lang/rust | rust-1.99.1_1 ended at Sun Oct 18 02:23:04 +04 2026

What I found weird is this part:
Code:
Caused by:

    0: failed to copy '/wrkdirs/usr/ports/lang/rust/work/_build/tmp/tarball/rust-dev/x86_64-unknown-freebsd/image/bin/llvm-debuginfod' to '/wrkdirs/usr/ports/lang/rust/work/_build/tmp/tarball/rust-dev/x86_64-unknown-freebsd/rust-dev-1.99.1-x86_64-unknown-freebsd/rust-dev/bin/llvm-debuginfod'
    1: No space left on device (os error 28)

Which is weird because:

# during the compile process
df -h zm2root
Filesystem Size Used Avail Capacity Mounted on
zm2root 80G 181M 80G 0% /

# monitoring and logging disk space:
gnu-watch 'jexec freebsd_15_1_amd64_nox-HEAD df -h | grep -v "^Filesystem" | tee -a /zhost4x4/temp/sizelog-rustbuild-2026-10-18'
zm2root/poudriere/jails/freebsd_15_1_amd64_nox-HEAD-ref 82G 1.8G 80G 2%


The drive free space never fall below 80GB during compile.... So lot sure free space is the issue...
 
If you've enabled USE_TMPFS and limiting TMPFS_LIMIT to anything lower than the to-be-built port (in your case, lang/rust) wants (or free memory + free swap becomes too low) in your /usr/local/etc/poudriere.conf, this is promissingly happen.

In this case, try adding rust to TMPFS_BLACKLIST.
 
Good notice, but I had once similar problem couple of years ago and set TMPFS_LIMIT=32 32GB should be enough right ??? but good point, I will disable it for now and try to recompile ( eta ~2-3 hour )
 
If you've enabled USE_TMPFS and limiting TMPFS_LIMIT to anything lower than the to-be-built port (in your case, lang/rust) wants (or free memory + free swap becomes too low) in your /usr/local/etc/poudriere.conf, this is promissingly happen.

In this case, try adding rust to TMPFS_BLACKLIST.

Solved, blacklisting rust does fix this issue.
Thanks a lot.
 
Back
Top