Skip to content

Can not build on macOS 14.6.1 with clang 16 #55023

@iwuliz

Description

@iwuliz

Version

main

Platform

OS: macOS 14.6.1
CPU: (8) arm64 Apple M1 Pro
Memory: 326.86 MB / 32.00 GB
Shell: 5.9 - /bin/zsh

Subsystem

No response

What steps will reproduce the bug?

  1. git pull upstream main
  2. ./configure --node-builtin-modules-path "$(pwd)" --ninja
  3. make

How often does it reproduce? Is there a required condition?

Frequency: Always. It happened to me after my macOS was upgraded from 14.5.0 to 14.6.1.
Required condition: No sure.

What is the expected behavior? Why is that the expected behavior?

node is built.

What do you see instead?

ninja -C out/Release 
ninja: Entering directory `out/Release'
[1/4210] CXX obj/deps/icu-small/source/tools/toolutil/icutools.filestrm.o
FAILED: obj/deps/icu-small/source/tools/toolutil/icutools.filestrm.o 
c++ -MMD -MF obj/deps/icu-small/source/tools/toolutil/icutools.filestrm.o.d -D_GLIBCXX_USE_CXX11_ABI=1 -DNODE_OPENSSL_CONF_NAME=nodejs_conf -DNODE_OPENSSL_HAS_QUIC -DICU_NO_USER_DATA_OVERRIDE -D_DARWIN_USE_64_BIT_INODE=1 -DOPENSSL_NO_PINSHARED -DOPENSSL_THREADS -DU_COMMON_IMPLEMENTATION=1 -DU_I18N_IMPLEMENTATION=1 -DU_IO_IMPLEMENTATION=1 -DU_TOOLUTIL_IMPLEMENTATION=1 -DU_ATTRIBUTE_DEPRECATED= -DU_STATIC_IMPLEMENTATION=1 -DUCONFIG_NO_SERVICE=1 -DU_ENABLE_DYLOAD=0 -DU_HAVE_STD_STRING=1 -DUCONFIG_NO_BREAK_ITERATION=0 -I../../deps/icu-small/source/common -I../../deps/icu-small/source/i18n -I../../deps/icu-small/source/tools/toolutil -O3 -gdwarf-2 -fno-strict-aliasing -mmacosx-version-min=11.0 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++20 -stdlib=libc++ -fno-exceptions  -c ../../deps/icu-small/source/tools/toolutil/filestrm.cpp -o obj/deps/icu-small/source/tools/toolutil/icutools.filestrm.o
In file included from ../../deps/icu-small/source/tools/toolutil/filestrm.cpp:28:
In file included from ../../deps/icu-small/source/common/cmemory.h:33:
../../deps/icu-small/source/common/unicode/localpointer.h:45:10: fatal error: 'memory' file not found
   45 | #include <memory>
      |          ^~~~~~~~
1 error generated.
[2/4210] CXX obj/deps/icu-small/source/tools/toolutil/icutools.flagparser.o
FAILED: obj/deps/icu-small/source/tools/toolutil/icutools.flagparser.o 
c++ -MMD -MF obj/deps/icu-small/source/tools/toolutil/icutools.flagparser.o.d -D_GLIBCXX_USE_CXX11_ABI=1 -DNODE_OPENSSL_CONF_NAME=nodejs_conf -DNODE_OPENSSL_HAS_QUIC -DICU_NO_USER_DATA_OVERRIDE -D_DARWIN_USE_64_BIT_INODE=1 -DOPENSSL_NO_PINSHARED -DOPENSSL_THREADS -DU_COMMON_IMPLEMENTATION=1 -DU_I18N_IMPLEMENTATION=1 -DU_IO_IMPLEMENTATION=1 -DU_TOOLUTIL_IMPLEMENTATION=1 -DU_ATTRIBUTE_DEPRECATED= -DU_STATIC_IMPLEMENTATION=1 -DUCONFIG_NO_SERVICE=1 -DU_ENABLE_DYLOAD=0 -DU_HAVE_STD_STRING=1 -DUCONFIG_NO_BREAK_ITERATION=0 -I../../deps/icu-small/source/common -I../../deps/icu-small/source/i18n -I../../deps/icu-small/source/tools/toolutil -O3 -gdwarf-2 -fno-strict-aliasing -mmacosx-version-min=11.0 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++20 -stdlib=libc++ -fno-exceptions  -c ../../deps/icu-small/source/tools/toolutil/flagparser.cpp -o obj/deps/icu-small/source/tools/toolutil/icutools.flagparser.o
In file included from ../../deps/icu-small/source/tools/toolutil/flagparser.cpp:11:
In file included from ../../deps/icu-small/source/common/cstring.h:31:
In file included from ../../deps/icu-small/source/common/cmemory.h:33:
../../deps/icu-small/source/common/unicode/localpointer.h:45:10: fatal error: 'memory' file not found
   45 | #include <memory>
      |          ^~~~~~~~
1 error generated.
[3/4210] CXX obj/deps/icu-small/source/tools/toolutil/icutools.collationinfo.o
FAILED: obj/deps/icu-small/source/tools/toolutil/icutools.collationinfo.o 
c++ -MMD -MF obj/deps/icu-small/source/tools/toolutil/icutools.collationinfo.o.d -D_GLIBCXX_USE_CXX11_ABI=1 -DNODE_OPENSSL_CONF_NAME=nodejs_conf -DNODE_OPENSSL_HAS_QUIC -DICU_NO_USER_DATA_OVERRIDE -D_DARWIN_USE_64_BIT_INODE=1 -DOPENSSL_NO_PINSHARED -DOPENSSL_THREADS -DU_COMMON_IMPLEMENTATION=1 -DU_I18N_IMPLEMENTATION=1 -DU_IO_IMPLEMENTATION=1 -DU_TOOLUTIL_IMPLEMENTATION=1 -DU_ATTRIBUTE_DEPRECATED= -DU_STATIC_IMPLEMENTATION=1 -DUCONFIG_NO_SERVICE=1 -DU_ENABLE_DYLOAD=0 -DU_HAVE_STD_STRING=1 -DUCONFIG_NO_BREAK_ITERATION=0 -I../../deps/icu-small/source/common -I../../deps/icu-small/source/i18n -I../../deps/icu-small/source/tools/toolutil -O3 -gdwarf-2 -fno-strict-aliasing -mmacosx-version-min=11.0 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++20 -stdlib=libc++ -fno-exceptions  -c ../../deps/icu-small/source/tools/toolutil/collationinfo.cpp -o obj/deps/icu-small/source/tools/toolutil/icutools.collationinfo.o
In file included from ../../deps/icu-small/source/tools/toolutil/collationinfo.cpp:21:
In file included from ../../deps/icu-small/source/i18n/collationdata.h:21:
In file included from ../../deps/icu-small/source/i18n/unicode/ucol.h:17:
In file included from ../../deps/icu-small/source/common/unicode/unorm.h:25:
In file included from ../../deps/icu-small/source/common/unicode/unorm2.h:35:
In file included from ../../deps/icu-small/source/common/unicode/uset.h:36:
../../deps/icu-small/source/common/unicode/localpointer.h:45:10: fatal error: 'memory' file not found
   45 | #include <memory>
      |          ^~~~~~~~
1 error generated.
[4/4210] CXX obj/deps/icu-small/source/tools/toolutil/icutools.uoptions.o
FAILED: obj/deps/icu-small/source/tools/toolutil/icutools.uoptions.o 
c++ -MMD -MF obj/deps/icu-small/source/tools/toolutil/icutools.uoptions.o.d -D_GLIBCXX_USE_CXX11_ABI=1 -DNODE_OPENSSL_CONF_NAME=nodejs_conf -DNODE_OPENSSL_HAS_QUIC -DICU_NO_USER_DATA_OVERRIDE -D_DARWIN_USE_64_BIT_INODE=1 -DOPENSSL_NO_PINSHARED -DOPENSSL_THREADS -DU_COMMON_IMPLEMENTATION=1 -DU_I18N_IMPLEMENTATION=1 -DU_IO_IMPLEMENTATION=1 -DU_TOOLUTIL_IMPLEMENTATION=1 -DU_ATTRIBUTE_DEPRECATED= -DU_STATIC_IMPLEMENTATION=1 -DUCONFIG_NO_SERVICE=1 -DU_ENABLE_DYLOAD=0 -DU_HAVE_STD_STRING=1 -DUCONFIG_NO_BREAK_ITERATION=0 -I../../deps/icu-small/source/common -I../../deps/icu-small/source/i18n -I../../deps/icu-small/source/tools/toolutil -O3 -gdwarf-2 -fno-strict-aliasing -mmacosx-version-min=11.0 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++20 -stdlib=libc++ -fno-exceptions  -c ../../deps/icu-small/source/tools/toolutil/uoptions.cpp -o obj/deps/icu-small/source/tools/toolutil/icutools.uoptions.o
In file included from ../../deps/icu-small/source/tools/toolutil/uoptions.cpp:22:
In file included from ../../deps/icu-small/source/common/cstring.h:31:
In file included from ../../deps/icu-small/source/common/cmemory.h:33:
../../deps/icu-small/source/common/unicode/localpointer.h:45:10: fatal error: 'memory' file not found
   45 | #include <memory>
      |          ^~~~~~~~
1 error generated.
[5/4210] CXX obj/deps/icu-small/source/tools/toolutil/icutools.ucbuf.o
FAILED: obj/deps/icu-small/source/tools/toolutil/icutools.ucbuf.o 
c++ -MMD -MF obj/deps/icu-small/source/tools/toolutil/icutools.ucbuf.o.d -D_GLIBCXX_USE_CXX11_ABI=1 -DNODE_OPENSSL_CONF_NAME=nodejs_conf -DNODE_OPENSSL_HAS_QUIC -DICU_NO_USER_DATA_OVERRIDE -D_DARWIN_USE_64_BIT_INODE=1 -DOPENSSL_NO_PINSHARED -DOPENSSL_THREADS -DU_COMMON_IMPLEMENTATION=1 -DU_I18N_IMPLEMENTATION=1 -DU_IO_IMPLEMENTATION=1 -DU_TOOLUTIL_IMPLEMENTATION=1 -DU_ATTRIBUTE_DEPRECATED= -DU_STATIC_IMPLEMENTATION=1 -DUCONFIG_NO_SERVICE=1 -DU_ENABLE_DYLOAD=0 -DU_HAVE_STD_STRING=1 -DUCONFIG_NO_BREAK_ITERATION=0 -I../../deps/icu-small/source/common -I../../deps/icu-small/source/i18n -I../../deps/icu-small/source/tools/toolutil -O3 -gdwarf-2 -fno-strict-aliasing -mmacosx-version-min=11.0 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++20 -stdlib=libc++ -fno-exceptions  -c ../../deps/icu-small/source/tools/toolutil/ucbuf.cpp -o obj/deps/icu-small/source/tools/toolutil/icutools.ucbuf.o
In file included from ../../deps/icu-small/source/tools/toolutil/ucbuf.cpp:23:
In file included from ../../deps/icu-small/source/common/unicode/ucnv.h:52:
In file included from ../../deps/icu-small/source/common/unicode/uenum.h:25:
../../deps/icu-small/source/common/unicode/localpointer.h:45:10: fatal error: 'memory' file not found
   45 | #include <memory>
      |          ^~~~~~~~
1 error generated.
[6/4210] CXX obj/deps/icu-small/source/tools/toolutil/icutools.ppucd.o
FAILED: obj/deps/icu-small/source/tools/toolutil/icutools.ppucd.o 
c++ -MMD -MF obj/deps/icu-small/source/tools/toolutil/icutools.ppucd.o.d -D_GLIBCXX_USE_CXX11_ABI=1 -DNODE_OPENSSL_CONF_NAME=nodejs_conf -DNODE_OPENSSL_HAS_QUIC -DICU_NO_USER_DATA_OVERRIDE -D_DARWIN_USE_64_BIT_INODE=1 -DOPENSSL_NO_PINSHARED -DOPENSSL_THREADS -DU_COMMON_IMPLEMENTATION=1 -DU_I18N_IMPLEMENTATION=1 -DU_IO_IMPLEMENTATION=1 -DU_TOOLUTIL_IMPLEMENTATION=1 -DU_ATTRIBUTE_DEPRECATED= -DU_STATIC_IMPLEMENTATION=1 -DUCONFIG_NO_SERVICE=1 -DU_ENABLE_DYLOAD=0 -DU_HAVE_STD_STRING=1 -DUCONFIG_NO_BREAK_ITERATION=0 -I../../deps/icu-small/source/common -I../../deps/icu-small/source/i18n -I../../deps/icu-small/source/tools/toolutil -O3 -gdwarf-2 -fno-strict-aliasing -mmacosx-version-min=11.0 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++20 -stdlib=libc++ -fno-exceptions  -c ../../deps/icu-small/source/tools/toolutil/ppucd.cpp -o obj/deps/icu-small/source/tools/toolutil/icutools.ppucd.o
In file included from ../../deps/icu-small/source/tools/toolutil/ppucd.cpp:19:
In file included from ../../deps/icu-small/source/common/charstr.h:18:
../../deps/icu-small/source/common/unicode/unistr.h:35:10: fatal error: 'cstddef' file not found
   35 | #include <cstddef>
      |          ^~~~~~~~~
1 error generated.
[7/4210] CXX obj/deps/icu-small/source/tools/toolutil/icutools.pkg_icu.o
FAILED: obj/deps/icu-small/source/tools/toolutil/icutools.pkg_icu.o 
c++ -MMD -MF obj/deps/icu-small/source/tools/toolutil/icutools.pkg_icu.o.d -D_GLIBCXX_USE_CXX11_ABI=1 -DNODE_OPENSSL_CONF_NAME=nodejs_conf -DNODE_OPENSSL_HAS_QUIC -DICU_NO_USER_DATA_OVERRIDE -D_DARWIN_USE_64_BIT_INODE=1 -DOPENSSL_NO_PINSHARED -DOPENSSL_THREADS -DU_COMMON_IMPLEMENTATION=1 -DU_I18N_IMPLEMENTATION=1 -DU_IO_IMPLEMENTATION=1 -DU_TOOLUTIL_IMPLEMENTATION=1 -DU_ATTRIBUTE_DEPRECATED= -DU_STATIC_IMPLEMENTATION=1 -DUCONFIG_NO_SERVICE=1 -DU_ENABLE_DYLOAD=0 -DU_HAVE_STD_STRING=1 -DUCONFIG_NO_BREAK_ITERATION=0 -I../../deps/icu-small/source/common -I../../deps/icu-small/source/i18n -I../../deps/icu-small/source/tools/toolutil -O3 -gdwarf-2 -fno-strict-aliasing -mmacosx-version-min=11.0 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++20 -stdlib=libc++ -fno-exceptions  -c ../../deps/icu-small/source/tools/toolutil/pkg_icu.cpp -o obj/deps/icu-small/source/tools/toolutil/icutools.pkg_icu.o
In file included from ../../deps/icu-small/source/tools/toolutil/pkg_icu.cpp:9:
../../deps/icu-small/source/common/unicode/localpointer.h:45:10: fatal error: 'memory' file not found
   45 | #include <memory>
      |          ^~~~~~~~
1 error generated.
[8/4210] CXX obj/deps/icu-small/source/tools/toolutil/icutools.writesrc.o
FAILED: obj/deps/icu-small/source/tools/toolutil/icutools.writesrc.o 
c++ -MMD -MF obj/deps/icu-small/source/tools/toolutil/icutools.writesrc.o.d -D_GLIBCXX_USE_CXX11_ABI=1 -DNODE_OPENSSL_CONF_NAME=nodejs_conf -DNODE_OPENSSL_HAS_QUIC -DICU_NO_USER_DATA_OVERRIDE -D_DARWIN_USE_64_BIT_INODE=1 -DOPENSSL_NO_PINSHARED -DOPENSSL_THREADS -DU_COMMON_IMPLEMENTATION=1 -DU_I18N_IMPLEMENTATION=1 -DU_IO_IMPLEMENTATION=1 -DU_TOOLUTIL_IMPLEMENTATION=1 -DU_ATTRIBUTE_DEPRECATED= -DU_STATIC_IMPLEMENTATION=1 -DUCONFIG_NO_SERVICE=1 -DU_ENABLE_DYLOAD=0 -DU_HAVE_STD_STRING=1 -DUCONFIG_NO_BREAK_ITERATION=0 -I../../deps/icu-small/source/common -I../../deps/icu-small/source/i18n -I../../deps/icu-small/source/tools/toolutil -O3 -gdwarf-2 -fno-strict-aliasing -mmacosx-version-min=11.0 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++20 -stdlib=libc++ -fno-exceptions  -c ../../deps/icu-small/source/tools/toolutil/writesrc.cpp -o obj/deps/icu-small/source/tools/toolutil/icutools.writesrc.o
../../deps/icu-small/source/tools/toolutil/writesrc.cpp:31:10: fatal error: 'cinttypes' file not found
   31 | #include <cinttypes>
      |          ^~~~~~~~~~~
1 error generated.
[9/4210] CXX obj/tools/icu/patches/75/source/tools/toolutil/icutools.pkg_genc.o
FAILED: obj/tools/icu/patches/75/source/tools/toolutil/icutools.pkg_genc.o 
c++ -MMD -MF obj/tools/icu/patches/75/source/tools/toolutil/icutools.pkg_genc.o.d -D_GLIBCXX_USE_CXX11_ABI=1 -DNODE_OPENSSL_CONF_NAME=nodejs_conf -DNODE_OPENSSL_HAS_QUIC -DICU_NO_USER_DATA_OVERRIDE -D_DARWIN_USE_64_BIT_INODE=1 -DOPENSSL_NO_PINSHARED -DOPENSSL_THREADS -DU_COMMON_IMPLEMENTATION=1 -DU_I18N_IMPLEMENTATION=1 -DU_IO_IMPLEMENTATION=1 -DU_TOOLUTIL_IMPLEMENTATION=1 -DU_ATTRIBUTE_DEPRECATED= -DU_STATIC_IMPLEMENTATION=1 -DUCONFIG_NO_SERVICE=1 -DU_ENABLE_DYLOAD=0 -DU_HAVE_STD_STRING=1 -DUCONFIG_NO_BREAK_ITERATION=0 -I../../deps/icu-small/source/common -I../../deps/icu-small/source/i18n -I../../deps/icu-small/source/tools/toolutil -O3 -gdwarf-2 -fno-strict-aliasing -mmacosx-version-min=11.0 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++20 -stdlib=libc++ -fno-exceptions  -c ../../tools/icu/patches/75/source/tools/toolutil/pkg_genc.cpp -o obj/tools/icu/patches/75/source/tools/toolutil/icutools.pkg_genc.o
In file included from ../../tools/icu/patches/75/source/tools/toolutil/pkg_genc.cpp:46:
In file included from ../../deps/icu-small/source/common/cmemory.h:33:
../../deps/icu-small/source/common/unicode/localpointer.h:45:10: fatal error: 'memory' file not found
   45 | #include <memory>
      |          ^~~~~~~~
1 error generated.
[10/4210] CXX obj/deps/icu-small/source/tools/toolutil/icutools.swapimpl.o
FAILED: obj/deps/icu-small/source/tools/toolutil/icutools.swapimpl.o 
c++ -MMD -MF obj/deps/icu-small/source/tools/toolutil/icutools.swapimpl.o.d -D_GLIBCXX_USE_CXX11_ABI=1 -DNODE_OPENSSL_CONF_NAME=nodejs_conf -DNODE_OPENSSL_HAS_QUIC -DICU_NO_USER_DATA_OVERRIDE -D_DARWIN_USE_64_BIT_INODE=1 -DOPENSSL_NO_PINSHARED -DOPENSSL_THREADS -DU_COMMON_IMPLEMENTATION=1 -DU_I18N_IMPLEMENTATION=1 -DU_IO_IMPLEMENTATION=1 -DU_TOOLUTIL_IMPLEMENTATION=1 -DU_ATTRIBUTE_DEPRECATED= -DU_STATIC_IMPLEMENTATION=1 -DUCONFIG_NO_SERVICE=1 -DU_ENABLE_DYLOAD=0 -DU_HAVE_STD_STRING=1 -DUCONFIG_NO_BREAK_ITERATION=0 -I../../deps/icu-small/source/common -I../../deps/icu-small/source/i18n -I../../deps/icu-small/source/tools/toolutil -O3 -gdwarf-2 -fno-strict-aliasing -mmacosx-version-min=11.0 -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++20 -stdlib=libc++ -fno-exceptions  -c ../../deps/icu-small/source/tools/toolutil/swapimpl.cpp -o obj/deps/icu-small/source/tools/toolutil/icutools.swapimpl.o
In file included from ../../deps/icu-small/source/tools/toolutil/swapimpl.cpp:30:
In file included from ../../deps/icu-small/source/common/unicode/udata.h:25:
../../deps/icu-small/source/common/unicode/localpointer.h:45:10: fatal error: 'memory' file not found
   45 | #include <memory>
      |          ^~~~~~~~
1 error generated.
ninja: build stopped: subcommand failed.
make: *** [node] Error 1

Additional information

  • I was able to build last week.

  • My maOS was upgraded from 14.5.0 to 14.6.1 yesterday.

  • My clang version

Apple clang version 16.0.0 (clang-1600.0.26.3)
Target: arm64-apple-darwin23.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin

Metadata

Metadata

Assignees

No one assigned

    Labels

    buildIssues and PRs related to build files or the CI.macosIssues and PRs related to the macOS platform / OSX.

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions