Bug 295929 - www/node24: Not building on main
Summary: www/node24: Not building on main
Status: Open
Alias: None
Product: Ports & Packages
Classification: Unclassified
Component: Individual Port(s) (show other bugs)
Version: Latest
Hardware: Any Any
: --- Affects Only Me
Assignee: Po-Chuan Hsieh
URL: https://pkg-status.freebsd.org/beefy2...
Keywords:
Depends on:
Blocks:
 
Reported: 2026-06-08 09:16 UTC by Alastair Hogge
Modified: 2026-07-05 22:46 UTC (History)
4 users (show)

See Also:
bugzilla: maintainer-feedback? (sunpoet)


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Alastair Hogge 2026-06-08 09:16:22 UTC
> ../test/embedding/embedtest.cc:138:12: error: no viable conversion from 'node::EmbedderSnapshotData::Pointer' (aka 'unique_ptr<const EmbedderSnapshotData, DeleteSnapshotData>') to 'bool'
>   138 |     assert(snapshot);
>       |            ^~~~~~~~
> /usr/include/c++/v1/__memory/unique_ptr.h:276:64: note: explicit conversion function is not a candidate
>   276 |   _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 explicit operator bool() const _NOEXCEPT {
>       |                                                                ^
> ../test/embedding/embedtest.cc:216:14: error: no viable conversion from 'node::EmbedderSnapshotData::Pointer' (aka 'unique_ptr<const EmbedderSnapshotData, DeleteSnapshotData>') to 'bool'
>   216 |       assert(snapshot);
>       |              ^~~~~~~~
> /usr/include/c++/v1/__memory/unique_ptr.h:276:64: note: explicit conversion function is not a candidate
>   276 |   _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 explicit operator bool() const _NOEXCEPT {
>       |                                                                ^
> 2 errors generated.
Comment 1 Alexey Shuvaev 2026-06-09 00:15:59 UTC
I confirm the build failure, just hit it myself trying to build editors/vscode.

FreeBSD 16-CURRENT 1600018 g22c1f5d0ec21 n286382
ports last commit f4d9b517af826b97ef5b06716f48b1af71b2740f
Comment 2 Alexey Shuvaev 2026-06-09 01:13:00 UTC
Probably running ahead of the locomotive, but here is the upstream issue:
https://github.com/nodejs/node/issues/63807
Comment 3 Alastair Hogge 2026-06-09 03:15:29 UTC
Nice work, and yes, this effects multiple version of node, including node-26.
Comment 4 Alexey Shuvaev 2026-06-11 02:33:42 UTC
Probably fixed by
https://cgit.freebsd.org/src/commit/include/assert.h?id=48d20fd1cf90179e778c6155900cbed2be140273
that modifies in-tree assert() macro.
Comment 5 Dan Kotowski 2026-06-11 08:31:58 UTC
(In reply to Alexey Shuvaev from comment #4)
I can confirm that builds past that commit now succeed as expected.
Comment 6 Alexey Shuvaev 2026-06-13 01:43:31 UTC
(In reply to Dan Kotowski from comment #5)
Yes, it builds fine now!
I was really running ahead of locomotive with the upstreaming!
I closed the github issue!
This PR can also be closed as fixed now!
Comment 7 peo 2026-07-01 19:36:59 UTC
I am re-opening because I had the opposite experience where node builds fine before the patch and fails after.

stable/15-034e21efa19d GENERIC amd64
4551 bytes /usr/include/assert.h

node24 fails with the reported eror (24-24.16.0)

stable/15-62551ae38bf2 GENERIC amd64
3181 bytes /usr/src/include/assert.h

node24 builds fine (24-24.18.0)

Maybe this is just noise due to something else but I wanted to report it anyway.

Thanks,

Per
Comment 8 Alastair Hogge 2026-07-01 23:08:58 UTC
(In reply to peo from comment #7)

Re-open.
Comment 9 Alexey Shuvaev 2026-07-02 12:14:16 UTC
(In reply to peo from comment #7)
Hi!

My understanding is the "new" assert.h is for llvm21, and the "old" assert.h is for llvm19. Can you check, which version of, say, clang (clang --version) is installed in each case?

BTW, I can not find the hashes 034e21efa19d and 62551ae38bf2 in the stable/15 branch. Are you on stable/15 or releng/15.x branch?

And, probably the first question, are your build failures reproducible?
Comment 10 peo 2026-07-02 13:06:27 UTC
I have two identical HP Z6, one at work and one at home, trying to keep them as close as possible in setup.

On this round the updates going from 14-STABLE to 15-STABLE happened to fall in between the assert.h update. Because the update ran ok on the first box (62551ae38bf2) and not on the second (034e21efa19d) I simply reverted the failing src to the working. Base system (GENERIC) and all ports are updated from src.

Hence I cannot test for the failure now as I need both for work, but to answer your questions, yes, it was reproducible and it is 15-STABLE:

FreeBSD 15.1-STABLE stable/15-62551ae38bf2 GENERIC amd64 1501501

clang --version
FreeBSD clang version 21.1.8 (https://github.com/llvm/llvm-project.git llvmorg-21.1.8-0-g2078da43e25a)
Target: x86_64-unknown-freebsd15.1
Thread model: posix
InstalledDir: /usr/bin

I am sorry I cannot test anymore but decided to buy another machine for test cases so I can help more in the future.

Thanks,
Per
Comment 11 Jonathan Chen 2026-07-03 03:14:30 UTC
I'm hitting this failure on a pretty recent version of 15-STABLE/amd64, updated just yesterday.

# uname -a
FreeBSD stormbringer 15.1-STABLE FreeBSD 15.1-STABLE #0 stable/15-n284336-034e21efa19d: Thu Jul  2 09:26:30 NZST 2026     root@stormbringer:/usr/obj/usr/src/amd64.amd64/sys/GENERIC amd64

And yes, the build failures are reproducible. From my synth-logs:

...
../test/embedding/embedtest.cc:138:12: error: no viable conversion from 'node::EmbedderSnapshotData::Pointer' (aka 'unique_ptr<const EmbedderSnapshotData, DeleteSnapshotData>') to
'bool'
  138 |     assert(snapshot);
      |            ^~~~~~~~
/usr/include/c++/v1/__memory/unique_ptr.h:276:64: note: explicit conversion function is not a candidate
  276 |   _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 explicit operator bool() const _NOEXCEPT {
      |                                                                ^
../test/embedding/embedtest.cc:216:14: error: no viable conversion from 'node::EmbedderSnapshotData::Pointer' (aka 'unique_ptr<const EmbedderSnapshotData, DeleteSnapshotData>') to
'bool'
  216 |       assert(snapshot);
      |              ^~~~~~~~
/usr/include/c++/v1/__memory/unique_ptr.h:276:64: note: explicit conversion function is not a candidate
  276 |   _LIBCPP_HIDE_FROM_ABI _LIBCPP_CONSTEXPR_SINCE_CXX23 explicit operator bool() const _NOEXCEPT {
      |                      
gmake[1]: *** [embedtest.target.mk:130: /construction/xports/www/node24/work/node-v24.18.0/out/Release/obj.target/embedtest/test/embedding/embedtest.o] Error 1
gmake[1]: *** Waiting for unfinished jobs....
                                          ^
2 errors generated.
Comment 12 Jonathan Chen 2026-07-05 22:46:25 UTC
I refreshed from lastest STABLE-15, which included the update to assert.h; and the build now completes successfully.