Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

16.6.0 with V8 9.2 compile fails on macOS 10.13/Xcode 10.1 due to missing os/signpost.h #39584

Closed
blair opened this issue Jul 30, 2021 · 6 comments
Labels
build Issues and PRs related to build files or the CI. macos Issues and PRs related to the macOS platform / OSX.

Comments

@blair
Copy link

blair commented Jul 30, 2021

Version

v16.6.0

Platform

Darwin mymac.local 17.7.0 Darwin Kernel Version 17.7.0: Fri Oct 30 13:34:27 PDT 2020; root:xnu-4570.71.82.8~1/RELEASE_X86_64 x86_64 i386 MacBookPro11,3 Darwin

Subsystem

No response

What steps will reproduce the bug?

Build on macOS 10.13 using Xcode 10.1.

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

Every-time with 16.6.0. It compiled fine with 16.5.0.

What is the expected behavior?

A successful compile.

What do you see instead?

--->  Configuring nodejs16
Executing:  cd "/opt/local/var/macports/build/_Users_blair_Code_MacPorts_macports-ports.git_devel_nodejs16/nodejs16/work/node-v16.6.0" && ./configure --prefix=/opt/local --without-npm --shared-openssl --shared-openssl-includes=/opt/local/include/openssl --shared-openssl-libpath=/opt/local/lib --dest-cpu=x64 
Node.js configure: Found Python 3.9.6...
INFO: configure completed successfully
--->  Building nodejs16
Executing:  cd "/opt/local/var/macports/build/_Users_blair_Code_MacPorts_macports-ports.git_devel_nodejs16/nodejs16/work/node-v16.6.0" && /usr/bin/make -j8 -w all CC=/usr/bin/clang CXX=/usr/bin/clang++ CXX.host=/usr/bin/clang++ CPP=/usr/bin/cpp CPPFLAGS="-I/opt/local/include" CFLAGS="-Os -I/opt/local/include" CXXFLAGS="-Os -stdlib=libc++ -I/opt/local/include" LDFLAGS="-L/opt/local/lib -Wl,-headerpad_max_install_names " PYTHON=/opt/local/bin/python3.9 V=1 
make: Entering directory `/opt/local/var/macports/build/_Users_blair_Code_MacPorts_macports-ports.git_devel_nodejs16/nodejs16/work/node-v16.6.0'
/Applications/Xcode.app/Contents/Developer/usr/bin/make -C out BUILDTYPE=Release V=1
make[1]: Entering directory `/opt/local/var/macports/build/_Users_blair_Code_MacPorts_macports-ports.git_devel_nodejs16/nodejs16/work/node-v16.6.0/out'
  touch /opt/local/var/macports/build/_Users_blair_Code_MacPorts_macports-ports.git_devel_nodejs16/nodejs16/work/node-v16.6.0/out/Release/obj.target/deps/googletest/gtest_prod.stamp
...
...
...
  /usr/bin/clang++ -o /opt/local/var/macports/build/_Users_blair_Code_MacPorts_macports-ports.git_devel_nodejs16/nodejs16/work/node-v16.6.0/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/tracing/recorder-mac.o ../deps/v8/src/libplatform/tracing/recorder-mac.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DV8_TARGET_ARCH_X64' '-DV8_EMBEDDER_STRING="-node.18"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DENABLE_MINOR_MC' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DDISABLE_UNTRUSTED_CODE_MITIGATIONS' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_SNAPSHOT_COMPRESSION' '-DV8_ENABLE_SYSTEM_INSTRUMENTATION' '-DV8_ENABLE_WEBASSEMBLY' -I/opt/local/include/openssl -I../deps/v8 -I../deps/v8/include  -O3 -gdwarf-2 -fstrict-aliasing -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++14 -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF /opt/local/var/macports/build/_Users_blair_Code_MacPorts_macports-ports.git_devel_nodejs16/nodejs16/work/node-v16.6.0/out/Release/.deps//opt/local/var/macports/build/_Users_blair_Code_MacPorts_macports-ports.git_devel_nodejs16/nodejs16/work/node-v16.6.0/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/tracing/recorder-mac.o.d.raw -I/opt/local/include -Os -stdlib=libc++ -I/opt/local/include -c
  /usr/bin/clang -o /opt/local/var/macports/build/_Users_blair_Code_MacPorts_macports-ports.git_devel_nodejs16/nodejs16/work/node-v16.6.0/out/Release/obj.target/v8_zlib/deps/v8/third_party/zlib/adler32.o ../deps/v8/third_party/zlib/adler32.c '-D_GLIBCXX_USE_CXX11_ABI=1' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DV8_TARGET_ARCH_X64' '-DV8_EMBEDDER_STRING="-node.18"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DENABLE_MINOR_MC' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_ENABLE_LAZY_SOURCE_POSITIONS' '-DV8_USE_SIPHASH' '-DDISABLE_UNTRUSTED_CODE_MITIGATIONS' '-DV8_WIN64_UNWINDING_INFO' '-DV8_ENABLE_REGEXP_INTERPRETER_THREADED_DISPATCH' '-DV8_SNAPSHOT_COMPRESSION' '-DV8_ENABLE_SYSTEM_INSTRUMENTATION' '-DV8_ENABLE_WEBASSEMBLY' '-DZLIB_IMPLEMENTATION' -I/opt/local/include/openssl -I../deps/v8 -I../deps/v8/include -I../deps/v8/third_party/zlib -I../deps/v8/third_party/zlib/google  -O3 -gdwarf-2 -fstrict-aliasing -arch x86_64 -Wall -Wendif-labels -W -Wno-unused-parameter -fno-strict-aliasing -MMD -MF /opt/local/var/macports/build/_Users_blair_Code_MacPorts_macports-ports.git_devel_nodejs16/nodejs16/work/node-v16.6.0/out/Release/.deps//opt/local/var/macports/build/_Users_blair_Code_MacPorts_macports-ports.git_devel_nodejs16/nodejs16/work/node-v16.6.0/out/Release/obj.target/v8_zlib/deps/v8/third_party/zlib/adler32.o.d.raw -I/opt/local/include -Os -I/opt/local/include -c
In file included from ../deps/v8/src/libplatform/tracing/trace-writer.cc:14:
../deps/v8/src/libplatform/tracing/recorder.h:17:10: fatal error: 'os/signpost.h' file not found
#include <os/signpost.h>
         ^~~~~~~~~~~~~~~
1 error generated.
make[1]: *** [/opt/local/var/macports/build/_Users_blair_Code_MacPorts_macports-ports.git_devel_nodejs16/nodejs16/work/node-v16.6.0/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/tracing/trace-writer.o] Error 1
make[1]: *** Waiting for unfinished jobs....
In file included from ../deps/v8/src/libplatform/tracing/recorder-mac.cc:7:
../deps/v8/src/libplatform/tracing/recorder.h:17:10: fatal error: 'os/signpost.h' file not found
#include <os/signpost.h>
         ^~~~~~~~~~~~~~~
1 error generated.
make[1]: *** [/opt/local/var/macports/build/_Users_blair_Code_MacPorts_macports-ports.git_devel_nodejs16/nodejs16/work/node-v16.6.0/out/Release/obj.target/v8_libplatform/deps/v8/src/libplatform/tracing/recorder-mac.o] Error 1
rm 1687c4a4878cc7116fc6c7da6a6d05bffc1d4fe9.intermediate
make[1]: Leaving directory `/opt/local/var/macports/build/_Users_blair_Code_MacPorts_macports-ports.git_devel_nodejs16/nodejs16/work/node-v16.6.0/out'
make: *** [node] Error 2
make: Leaving directory `/opt/local/var/macports/build/_Users_blair_Code_MacPorts_macports-ports.git_devel_nodejs16/nodejs16/work/node-v16.6.0'
Command failed:  cd "/opt/local/var/macports/build/_Users_blair_Code_MacPorts_macports-ports.git_devel_nodejs16/nodejs16/work/node-v16.6.0" && /usr/bin/make -j8 -w all CC=/usr/bin/clang CXX=/usr/bin/clang++ CXX.host=/usr/bin/clang++ CPP=/usr/bin/cpp CPPFLAGS="-I/opt/local/include" CFLAGS="-Os -I/opt/local/include" CXXFLAGS="-Os -stdlib=libc++ -I/opt/local/include" LDFLAGS="-L/opt/local/lib -Wl,-headerpad_max_install_names " PYTHON=/opt/local/bin/python3.9 V=1 
Exit code: 2

Additional information

To work around it in tools/v8_gypfiles/features.gypi I set v8_enable_system_instrumentation to 0.

@targos
Copy link
Member

targos commented Jul 30, 2021

Only Xcode 11 is supported to build Node.js 16.x.

@targos targos added build Issues and PRs related to build files or the CI. macos Issues and PRs related to the macOS platform / OSX. labels Jul 30, 2021
@blair
Copy link
Author

blair commented Jul 30, 2021

Ok thanks, will close this bug then.

@blair blair closed this as completed Jul 30, 2021
@blair
Copy link
Author

blair commented Jul 30, 2021

@targos Actually, does https://github.com/nodejs/node/blob/master/BUILDING.md need updating then? It says >= 10.13 but Xcode 10.1 is the last Xcode release supported on 10.13?

Xcode 11 requires macOS 10.14.4 or later. [1] Xcode 10.2 requires 10.14. [2] Xcode 10.1 requires 10.13.6 or later. [3]

[1] https://developer.apple.com/documentation/xcode-release-notes/xcode-11-release-notes
[2] https://developer.apple.com/documentation/xcode-release-notes/xcode-10_2-release-notes
[3] https://developer.apple.com/documentation/xcode-release-notes/xcode-10_1-release-notes

@blair blair reopened this Jul 30, 2021
@targos
Copy link
Member

targos commented Jul 30, 2021

/cc @nodejs/build.

@AshCripps
Copy link
Member

Yep those docs are out of date in more then one place, ill update them now

AshCripps pushed a commit to AshCripps/node that referenced this issue Jul 30, 2021
Update the minimum macos version that can compile to match the
xcode requirements.

Also move mac arm64 to tier 1.

refs: nodejs#39584 (comment)
AshCripps pushed a commit to AshCripps/node that referenced this issue Jul 30, 2021
Update the minimum macos version that can compile to match the
xcode requirements.

Also move mac arm64 to tier 1.

refs: nodejs#39584 (comment)
AshCripps pushed a commit to AshCripps/node that referenced this issue Jul 30, 2021
Update the minimum macos version that can compile to match the
xcode requirements.

Also move mac arm64 to tier 1.

refs: nodejs#39584 (comment)
AshCripps pushed a commit to AshCripps/node that referenced this issue Jul 30, 2021
Update the minimum macos version that can compile to match the
xcode requirements.

Also move mac arm64 to tier 1.

refs: nodejs#39584 (comment)
nodejs-github-bot pushed a commit that referenced this issue Aug 1, 2021
Update the minimum macos version that can compile to match the
xcode requirements.

Also move mac arm64 to tier 1.

refs: #39584 (comment)

PR-URL: #39586
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
@targos
Copy link
Member

targos commented Aug 1, 2021

Documentation was clarified in 4d60ee8

@targos targos closed this as completed Aug 1, 2021
danielleadams pushed a commit that referenced this issue Aug 16, 2021
Update the minimum macos version that can compile to match the
xcode requirements.

Also move mac arm64 to tier 1.

refs: #39584 (comment)

PR-URL: #39586
Reviewed-By: Antoine du Hamel <duhamelantoine1995@gmail.com>
Reviewed-By: Beth Griggs <bgriggs@redhat.com>
Reviewed-By: James M Snell <jasnell@gmail.com>
Reviewed-By: Richard Lau <rlau@redhat.com>
Reviewed-By: Jiawen Geng <technicalcute@gmail.com>
Reviewed-By: Michaël Zasso <targos@protonmail.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
build Issues and PRs related to build files or the CI. macos Issues and PRs related to the macOS platform / OSX.
Projects
None yet
Development

No branches or pull requests

3 participants