[MacPorts] #71551: nodejs22 @22.12.0_0: error: invalid value 'gnu++20' in '-std=gnu++20'

MacPorts noreply at macports.org
Sat May 17 20:13:21 UTC 2025


#71551: nodejs22 @22.12.0_0: error: invalid value 'gnu++20' in '-std=gnu++20'
-----------------------+----------------------
  Reporter:  axoide    |      Owner:  ci42
      Type:  defect    |     Status:  assigned
  Priority:  Normal    |  Milestone:
 Component:  ports     |    Version:  2.10.5
Resolution:            |   Keywords:  mojave
      Port:  nodejs22  |
-----------------------+----------------------

Comment (by jhgorse):

 The node build does not respect the build tools specified by the portfile.

 With this addition to the portfile, we get further, but not quite all the
 way because the it reverts back to /usr/bin/clang++ at some point.
 {{{
 compiler.blacklist-delete *clang*
 compiler.blacklist-append {clang < 1400}
 compiler.fallback-append macports-clang-16
 configure.compiler macports-clang-16
 configure.cxxflags-delete -std=gnu++20
 configure.cxxflags-append -std=gnu++2a

 build.args-append \
     CC=${prefix}/bin/clang-mp-16 \
     CXX=${prefix}/bin/clang++-mp-16 \
     CXX.host=${prefix}/bin/clang++-mp-16 \
     CPP=${prefix}/bin/clang-cpp-mp-16 \
     CFLAGS="${configure.cflags} ${configure.cppflags}" \
     CXXFLAGS="${configure.cxxflags} ${configure.cppflags}" \
     CPPFLAGS="${configure.cppflags}" \
     LDFLAGS="${configure.ldflags} [legacysupport::get_library_link_flags]"
 \
     PYTHON=${configure.python} \
     V=1
 }}}

 Build output showing the wrong clang:
 {{{
   /usr/bin/clang++ -Wno-error=enum-constexpr-conversion -Wno-error
 =unknown-warning-option -o
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_nodejs22/nodejs22/work/node-v22.14.0/out/Release/obj.target/v8_abseil/deps/v8/third_party
 /abseil-cpp/absl/base/internal/raw_logging.o ../deps/v8/third_party
 /abseil-cpp/absl/base/internal/raw_logging.cc '-D_GLIBCXX_USE_CXX11_ABI=1'
 '-DNODE_OPENSSL_CONF_NAME=nodejs_conf' '-DNODE_OPENSSL_HAS_QUIC'
 '-DICU_NO_USER_DATA_OVERRIDE' '-DV8_GYP_BUILD'
 '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-DBUILDING_V8_SHARED'
 '-D_DARWIN_USE_64_BIT_INODE=1' '-D_DARWIN_C_SOURCE=1'
 '-DOPENSSL_NO_PINSHARED' '-DOPENSSL_THREADS' '-DV8_TARGET_ARCH_X64'
 '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_MACOS'
 '-DV8_EMBEDDER_STRING="-node.22"' '-DENABLE_DISASSEMBLER'
 '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DV8_SHORT_BUILTIN_CALLS'
 '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ATOMIC_OBJECT_FIELD_WRITES'
 '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH'
 '-DV8_SHARED_RO_HEAP' '-DNDEBUG' '-DV8_WIN64_UNWINDING_INFO'
 '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_USE_ZLIB'
 '-DV8_ENABLE_SPARKPLUG' '-DV8_ENABLE_TURBOFAN'
 '-DV8_ENABLE_SYSTEM_INSTRUMENTATION' '-DV8_ENABLE_WEBASSEMBLY'
 '-DV8_ENABLE_JAVASCRIPT_PROMISE_HOOKS'
 '-DV8_ENABLE_CONTINUATION_PRESERVED_EMBEDDER_DATA'
 '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING'
 '-DV8_ADVANCED_BIGINT_ALGORITHMS'
 -I/opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_nodejs22/nodejs22/work
 /zlib-inc -I../deps/v8 -I../deps/v8/include -I../deps/v8/third_party
 /abseil-cpp  -O3 -gdwarf-2 -fno-strict-aliasing -fvisibility=hidden -arch
 x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++20
 -stdlib=libc++ -fno-rtti -fno-exceptions -Wno-invalid-offsetof -MMD -MF
 /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_nodejs22/nodejs22/work/node-v22.14.0/out/Release/.deps//opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_lang_nodejs22/nodejs22/work/node-v22.14.0/out/Release/obj.target/v8_abseil/deps/v8/third_party
 /abseil-cpp/absl/base/internal/raw_logging.o.d.raw -I/opt/local/include
 -Os -std=gnu++2a -stdlib=libc++ -I/opt/local/include -c
 }}}

 I'll keep digging. I am on Mac OS 10.14 amd64. Cheers.

-- 
Ticket URL: <https://trac.macports.org/ticket/71551#comment:10>
MacPorts <https://www.macports.org/>
Ports system for macOS


More information about the macports-tickets mailing list