2 of 3 on in the package: DOCSJITShow the 1 options that are off
BUNDLED_SSL
pkg-message
Shown after installing
Note: If you need npm (Node Package Manager), please install www/npm-node26.
Packages by version and architecture
latest
FreeBSD version
amd64
aarch64
i386
FreeBSD 16
26.10.0_3
26.10.0_1
–
FreeBSD 15
26.10.0_3
26.10.0_3
–
FreeBSD 14
26.10.0_3
26.10.0_1
26.10.0_3
quarterly (2026Q4)
FreeBSD version
amd64
aarch64
i386
FreeBSD 15
26.10.0_3
26.10.0_1
–
FreeBSD 14
26.10.0_3
26.10.0_1
26.10.0_3
version as in the ports tree (latest) or the most common one (quarterly) · different version · ✗ not built · – no packages for this platform. Package sets that have not been rebuilt for 60 days are left out.
Unaddressed (0)
The CVE record lists the packaged version 26.10.0_3 as affected, and no VuXML entry names the CVE. What does this mean?
None.
VuXML only (1)
Listed in VuXML, the packaged version 26.10.0_3 is still in the affected range; pkg audit reports it. What does this mean?
www/node26: fix safepoints after calls on powerpc64*
Backport V8 f331137d5968. The assembler can put its trampoline pool
right after a call, and the safepoint and exception handler for that
call are then recorded at the wrong address, so the GC can scan the
wrong stack slots and exceptions can skip their catch block.
www/node26: fix Maglev on powerpc64
Maglev's PowerPC code loads a whole word where it should test one byte
of the map, so it checks the wrong byte on big endian. Once a function
gets optimized, "x == null" and "typeof x" give wrong results.
www/node2{2,4,6}: detect the CPU on powerpc64*
V8 only detects the CPU on Linux and AIX. On FreeBSD it assumes the
oldest CPU it supports, so node 22 and 24 never use POWER9 code and
reject every Wasm module that uses SIMD. Read the ISA level from
AT_HWCAP and AT_HWCAP2 instead.
www/node2{2,4,6}: Use bundled merve to avoid loading two simdutfs
node dies with SIGBUS (signal 10) the first time it lexes the exports
of a CommonJS module, e.g. early in any `npm install`, for example
www/tailwindcss4 fails to build, reporting "*** Signal 10".
Running lldb inside poudriere build, because we get a core dump:
frame #0 libsimdutf.so.36 simdutf::detail::find(...) +77: jmpq *%rax
frame #1 libmerve.so.1 lexer::CJSLexer::addReexport(...)
...
frame #6 node node::cjs_lexer::Parse(...)
rax = 0x4444444443434343 ("CCCCDDDD", string data)
This appears to be caused by having two different simdutf versions
loaded into one process:
- node is configured with --shared-merve but not --shared-simdutf, so
it statically includes its own simdutf (7.7.0 in 26.10.0, from
deps/v8/third_party/simdutf), and exports those symbols for native
addons (`nm -D node | grep -c simdutf` = 686).
- devel/merve is built with MERVE_USE_SIMDUTF=ON and links the system
libsimdutf.so.36 from converters/simdutf (9.2.1).
Both define simdutf::get_active_implementation() and friends. rtld
searches the executable first, so references made from inside
libsimdutf.so.36 can bind to node's 7.7.0 copy. The 9.2.1 code then
reads a 7.7.0 implementation object with its own layout, loads string
data where it expects a function pointer, and jumps to it.
I tried dropping shared-merve from the port and corresponding
LIB_DEPENDS, and now things work again.
Alternatively both --shared-merve and --shared-simdutf could be used,
but this may result in behavioural changes for consumers. This should
probably be done in the next minor nodejs version bump.
Approved by: portmgr (fix blanket)
MFH: 2026Q4
PR: 299170
Reported by: poudriere
Sponsored by: SkunkWerks, GmbH
www/node26: Fix build by using bundled abseil
node26 cannot build against devel/abseil. My assumption is that our
abseil port needs an update (it's 18-ish months old at this point).
For now, get node building again by using the bundled libabsl.
../deps/v8/src/base/platform/mutex.cc:63:18: error: no member named 'lock' in 'absl::Mutex'; did you mean 'Lock'?
63 | native_handle_.lock();
| ^~~~
| Lock
/usr/local/include/absl/synchronization/mutex.h:180:8: note: 'Lock' declared here
180 | void Lock() ABSL_EXCLUSIVE_LOCK_FUNCTION();
| ^
../deps/v8/src/base/platform/mutex.cc:69:18: error: no member named 'unlock' in 'absl::Mutex'; did you mean 'Unlock'?
69 | native_handle_.unlock();
| ^~~~~~
| Unlock
/usr/local/include/absl/synchronization/mutex.h:186:8: note: 'Unlock' declared here
186 | void Unlock() ABSL_UNLOCK_FUNCTION();
| ^
../deps/v8/src/base/platform/mutex.cc:73:23: error: no member named 'try_lock' in 'absl::Mutex'
73 | if (!native_handle_.try_lock()) return false;
| ~~~~~~~~~~~~~~ ^
3 errors generated.
PR: 298739
Reported by: kib
www/node26: Add node26 26.0.0
Node.js is a free, open-source, cross-platform JavaScript runtime environment
that lets developers create servers, web apps, command line tools and scripts.