Entirely different problem:

Build now fails within a minute of starting:

https://poudriere-src.isc.org/data/freebsd:16:x86:64-default/2025-09-11_23h25m42s/logs/errors/rust-1.89.0.log

My entire poudriere-conf is:

ZPOOL=zroot
FREEBSD_HOST=https://download.FreeBSD.org
RESOLV_CONF=/etc/resolv.conf
BASEFS=/usr/local/poudriere
USE_PORTLINT=no
USE_TMPFS=yes
DISTFILES_CACHE=/usr/ports/distfiles
PKG_REPO_SIGNING_KEY=/usr/local/etc/ssl/keys/poudriere.key
KEEP_OLD_PACKAGES=yes
KEEP_OLD_PACKAGES_COUNT=5

Ideas welcome


> On Sep 11, 2025, at 9:11 AM, Daniel Engberg <[email protected]> wrote:
> 
> On 2025-09-11 09:42, Dan Mahoney (Ports) wrote:
>> Hey there folks,
>> 
>> I've got poudriere running on a recently-16-ified VM with 8 cores and 48G 
>> ram (up from 32), and to eat the dogfood I'm attempting to build all my own 
>> packages.
>> 
>> lang/rust is a big one. It pontificates for about two hours, then dies with:
>> 
>> [ 45% 1690/3710] Building RISCVGenExegesis.inc...
>> [ 45% 1691/3710] Building RISCVGenGlobalISel.inc...
>> FAILED: [code=262] lib/Target/RISCV/RISCVGenGlobalISel.inc 
>> /wrkdirs/usr/ports/lang/rust/work/_build/x86_64-unknown-freebsd/llvm/build/lib/Target/RISCV/RISCVGenGlobalISel.inc
>>  
>> cd 
>> /wrkdirs/usr/ports/lang/rust/work/_build/x86_64-unknown-freebsd/llvm/build 
>> && 
>> /wrkdirs/usr/ports/lang/rust/work/_build/x86_64-unknown-freebsd/llvm/build/bin/llvm-tblgen
>>  -gen-global-isel -I 
>> /wrkdirs/usr/ports/lang/rust/work/rustc-1.89.0-src/src/llvm-project/llvm/lib/Target/RISCV
>>  
>> -I/wrkdirs/usr/ports/lang/rust/work/_build/x86_64-unknown-freebsd/llvm/build/include
>>  
>> -I/wrkdirs/usr/ports/lang/rust/work/rustc-1.89.0-src/src/llvm-project/llvm/include
>>  -I 
>> /wrkdirs/usr/ports/lang/rust/work/rustc-1.89.0-src/src/llvm-project/llvm/lib/Target
>>  -no-warn-on-unused-template-args 
>> /wrkdirs/usr/ports/lang/rust/work/rustc-1.89.0-src/src/llvm-project/llvm/lib/Target/RISCV/RISCVGISel.td
>>  --write-if-changed -o lib/Target/RISCV/RISCVGenGlobalISel.inc -d 
>> lib/Target/RISCV/RISCVGenGlobalISel.inc.d
>> LLVM ERROR: out of memory
>> Allocation failed
>> PLEASE submit a bug report to https://github.com/llvm/llvm-project/issues/ 
>> and include the crash backtrace.
>> Stack dump:
>> 0. Program arguments: 
>> /wrkdirs/usr/ports/lang/rust/work/_build/x86_64-unknown-freebsd/llvm/build/bin/llvm-tblgen
>>  -gen-global-isel -I 
>> /wrkdirs/usr/ports/lang/rust/work/rustc-1.89.0-src/src/llvm-project/llvm/lib/Target/RISCV
>>  
>> -I/wrkdirs/usr/ports/lang/rust/work/_build/x86_64-unknown-freebsd/llvm/build/include
>>  
>> -I/wrkdirs/usr/ports/lang/rust/work/rustc-1.89.0-src/src/llvm-project/llvm/include
>>  -I 
>> /wrkdirs/usr/ports/lang/rust/work/rustc-1.89.0-src/src/llvm-project/llvm/lib/Target
>>  -no-warn-on-unused-template-args 
>> /wrkdirs/usr/ports/lang/rust/work/rustc-1.89.0-src/src/llvm-project/llvm/lib/Target/RISCV/RISCVGISel.td
>>  --write-if-changed -o lib/Target/RISCV/RISCVGenGlobalISel.inc -d 
>> lib/Target/RISCV/RISCVGenGlobalISel.inc.d
>> ninja: build stopped: subcommand failed.
>> 
>> thread 'main' panicked at 
>> /wrkdirs/usr/ports/lang/rust/work/rustc-1.89.0-src/vendor/cmake-0.1.54/src/lib.rs:1119:5:
>> 
>> command did not execute successfully, got: exit status: 6
>> 
>> build script failed, must exit now
>> stack backtrace:
>> 0: __rustc::rust_begin_unwind
>> 1: core::panicking::panic_fmt
>> 2: cmake::fail
>> 
>> Full logs here:
>> 
>> https://poudriere-src.isc.org/data/freebsd:16:x86:64-pkgbase-default_git/2025-09-11_04h17m42s/logs/rust-1.89.0.log
>> 
>> Is this actually likely an LLVM bug, or is 48G of ram not enough (it barely 
>> climbed at all for most of the files). Note that I'm not doing anything 
>> multi-threaded with Poudriere, this is single CPU bound.
>> 
>> -Dan
>> 
> Hi,
> During linking it can use up quite a bit of memory, especially if you have 
> multiple jobs running. You will struggle with 12Gb of RAM, 8Gb swap and ZFS 
> (ARC) using ports and 3 jobs (-j3) using slow CPU (older i3 etc). My Ryzen 
> (7000 series) box needs about 40Gb of RAM (including tmpfs) alone to build 
> Rust using Poudriere without ARC accounted for and that's running -j8. It can 
> be a bit hard to estimate as time for linking processes to finish can wary 
> greatly depending on hardware and if those accumulate you'll need even more 
> memory because of the slow processing and multiple running in parallel. Best 
> regards, Daniel


Reply via email to