From poudriere build log: ``` ===> firefox-95.0.2,2 depends on file: /usr/local/llvm13/lib/clang//lib/wasi/libclang_rt.builtins-wasm32.a - not found ===> Installing existing package /packages/All/wasi-compiler-rt13-13.0.0.pkg [13amd64-usrports] Installing wasi-compiler-rt13-13.0.0... [13amd64-usrports] Extracting wasi-compiler-rt13-13.0.0: .... done ===> firefox-95.0.2,2 depends on file: /usr/local/llvm13/lib/clang//lib/wasi/libclang_rt.builtins-wasm32.a - not found ``` This occurs because of Mk/bsd.gecko.mk:L96#L99 ``` 95 # Ignore Mk/bsd.default-versions.mk but respect make.conf(5) unless LTO is enabled 96 .if !defined(DEFAULT_VERSIONS) || ! ${DEFAULT_VERSIONS:Mllvm*} || ${PORT_OPTIONS:MLTO} 97 LLVM_DEFAULT= 13 # chase bundled LLVM in lang/rust for LTO 98 LLVM_VERSION= 13.0.0 # keep in sync with devel/wasi-compiler-rt${LLVM_DEFAULT} 99 .endif ``` So with no LTO but llvm=13 explicitly set in make.conf DEFAULT_VERSIONS, it fails to set LLVM_VERSION and thus can't find the necessary file. Possibly fix by checking for ${DEFAULT_VERSIONS:Mllvm13}
A "me too"! An observation: since there are only a few versions of devel/wasi-compiler-rt?? (currently 11 and 13), it does not make sense to obey DEFAULT_VERSIONS=llvm=xx for xx!=11 or 13. IMO, the easiest solution would be to always pick llvm13, regardless of DEFAULT_VERSIONS. That is, just remove the conditional completely around LLVM_DEFAULT/LLVM_VERSION settings in Mk/bsd.gecko.mk
My workaround (in make.conf) while waiting for a fix: .if ${.CURDIR:M*/www/firefox} LLVM_VERSION= 13.0.1 .endif
See https://reviews.freebsd.org/D35289 (also stack).