Re: Firefox fails to build on main

Mark Millard <[email protected]> Tue, 4 Aug 2026 13:08:47 -0700
Newsgroups gmane.os.freebsd.devel.arm
Message-ID <[email protected]>
On 8/4/26 09:32, Nuno Teixeira wrote:
> Hello all,
> 
> I'm seing this failure around 1 month with 3 worlds update.
> Poudriere jail is clean and always match system.
> Default port options.
> 
> portsfallout.com <http://portsfallout.com> doesn't show build failures
> and maybe is a local problem.
> 
> Any hints?
> 
> Thanks,
> 
> ---
> /usr/local/bin/clang++19 -std=gnu++20 --target=wasm32-wasip1 --sysroot=/
> usr/local/share/wasi-sysroot -o rlbox.wasm -Wl,--export-all -Wl,--stack-
> first -Wl,-z,stack-size=262144 -Wl,--no-entry -Wl,--import-memory -W
> l,--import-table ogg_alloc.wasm ogg_bitwise.wasm ogg_framing.wasm
> moz_xmlparse.wasm moz_xmltok.wasm xmlrole.wasm
> wasm2c_sandbox_wrapper.wasm mozHunspellRLBoxSandbox.wasm affentry.wasm
> affixmgr.wasm csutil.wasm ha
> shmgr.wasm hunspell.wasm phonet.wasm replist.wasm suggestmgr.wasm
> GraphiteExtra.wasm CmapCache.wasm Code.wasm Collider.wasm
> Decompressor.wasm Face.wasm FeatureMap.wasm Font.wasm GlyphCache.wasm
> GlyphFace.wasm Int
> ervals.wasm Justifier.wasm NameTable.wasm Pass.wasm Position.wasm
> Segment.wasm Silf.wasm Slot.wasm Sparse.wasm TtfUtil.wasm UtfCodec.wasm
> call_machine.wasm gr_char_info.wasm gr_face.wasm gr_features.wasm gr_font.
> wasm gr_segment.wasm gr_slot.wasm mozalloc.wasm RLBoxWOFF2Sandbox.wasm
> table_tags.wasm variable_length.wasm woff2_common.wasm woff2_dec.wasm
> woff2_out.wasm -lwasi-emulated-process-clocks
> wasm-ld: error: /usr/local/share/wasi-sysroot/lib/wasm32-wasip1/libc+
> +.a(stdexcept.cpp.o): undefined symbol: __cxa_allocate_exception
> wasm-ld: error: /usr/local/share/wasi-sysroot/lib/wasm32-wasip1/libc+
> +.a(stdexcept.cpp.o): undefined symbol: __cxa_throw
> wasm-ld: error: /usr/local/share/wasi-sysroot/lib/wasm32-wasip1/libc+
> +.a(string.cpp.o): undefined symbol: __cxa_allocate_exception
> wasm-ld: error: /usr/local/share/wasi-sysroot/lib/wasm32-wasip1/libc+
> +.a(string.cpp.o): undefined symbol: __cxa_throw
> wasm-ld: error: /usr/local/share/wasi-sysroot/lib/wasm32-wasip1/libc+
> +.a(string.cpp.o): undefined symbol: __cxa_allocate_exception
> wasm-ld: error: /usr/local/share/wasi-sysroot/lib/wasm32-wasip1/libc+
> +.a(string.cpp.o): undefined symbol: __cxa_throw
> wasm-ld: error: /usr/local/share/wasi-sysroot/lib/wasm32-wasip1/libc+
> +.a(string.cpp.o): undefined symbol: __cxa_allocate_exception
> wasm-ld: error: /usr/local/share/wasi-sysroot/lib/wasm32-wasip1/libc+
> +.a(string.cpp.o): undefined symbol: __cxa_throw
> wasm-ld: error: /usr/local/share/wasi-sysroot/lib/wasm32-wasip1/libc+
> +.a(string.cpp.o): undefined symbol: __cxa_allocate_exception
> wasm-ld: error: /usr/local/share/wasi-sysroot/lib/wasm32-wasip1/libc+
> +.a(string.cpp.o): undefined symbol: __cxa_throw
> wasm-ld: error: /usr/local/share/wasi-sysroot/lib/wasm32-wasip1/libc+
> +.a(system_error.cpp.o): undefined symbol: __cxa_allocate_exception
> wasm-ld: error: /usr/local/share/wasi-sysroot/lib/wasm32-wasip1/libc+
> +.a(system_error.cpp.o): undefined symbol: __cxa_throw
> wasm-ld: error: /usr/local/share/wasi-sysroot/lib/wasm32-wasip1/libc+
> +.a(new_helpers.cpp.o): undefined symbol: __cxa_allocate_exception
> wasm-ld: error: /usr/local/share/wasi-sysroot/lib/wasm32-wasip1/libc+
> +.a(new_helpers.cpp.o): undefined symbol: __cxa_throw
> wasm-ld: error: /usr/local/share/wasi-sysroot/lib/wasm32-wasip1/libc+
> +.a(ios.cpp.o): undefined symbol: __cxa_allocate_exception
> wasm-ld: error: /usr/local/share/wasi-sysroot/lib/wasm32-wasip1/libc+
> +.a(ios.cpp.o): undefined symbol: __cxa_throw
> wasm-ld: error: /usr/local/share/wasi-sysroot/lib/wasm32-wasip1/libc+
> +.a(ios.cpp.o): undefined symbol: __cxa_rethrow
> wasm-ld: error: /usr/local/share/wasi-sysroot/lib/wasm32-wasip1/libc+
> +.a(ios.cpp.o): undefined symbol: __cxa_rethrow
> wasm-ld: error: /usr/local/share/wasi-sysroot/lib/wasm32-wasip1/libc+
> +.a(locale.cpp.o): undefined symbol: __cxa_allocate_exception
> wasm-ld: error: /usr/local/share/wasi-sysroot/lib/wasm32-wasip1/libc+
> +.a(locale.cpp.o): undefined symbol: __cxa_throw
> wasm-ld: error: too many errors emitted, stopping now (use -error-
> limit=0 to see all errors)
> clang++: error: linker command failed with exit code 1 (use -v to see
> invocation)
> gmake[3]: *** [/wrkdirs/usr/ports/www/firefox/work/firefox-153.0.1/
> config/rules.mk:497 <http://rules.mk:497>: rlbox.wasm] Error 1
> gmake[3]: Leaving directory '/wrkdirs/usr/ports/www/firefox/work/.build/
> security/rlbox'
> gmake[2]: *** [/wrkdirs/usr/ports/www/firefox/work/firefox-153.0.1/
> config/recurse.mk:79 <http://recurse.mk:79>: security/rlbox/pre-compile]
> Error 2
> ---
> 
> -- 
> Nuno Teixeira
> FreeBSD UNIX:  <[email protected]>   Web:  https://FreeBSD.org
> <https://FreeBSD.org>


Not that I've any experience with such, but does the log show the likes of:

===>   firefox-153.0.1_2,2 depends on file:
/usr/local/share/wasi-sysroot/lib/wasm32-wasip1/libc++abi.a - not found
===>   Installing existing package /packages/All/wasi-libcxx19-19.1.7_2.pkg
[main-arm64-default-job-12] Installing wasi-libcxx19-19.1.7_2...
[main-arm64-default-job-12] Extracting wasi-libcxx19-19.1.7_2:
.......... done

Is there anything odd about what is shown? How about the build of
wasi-libcxx19-19.1.7_2.pkg (or analogous) and its log?

(That text was copied from the log for the recent ampere2 build of firefox.)

As near as I can tell the missing symbols should be in that
lib/wasm32-wasip1/libc++abi.a and the link should get them from there.


-- 
===
Mark Millard
marklmi at yahoo.com