Opened 4 years ago
Last modified 2 years ago
#61592 assigned defect
nodejs8 nodejs10 nodejs12 nodejs13 nodejs14 nodejs15: Add arm64 support
Reported by: | shibukawa (Yoshiki Shibukawa) | Owned by: | ci42 |
---|---|---|---|
Priority: | Normal | Milestone: | |
Component: | ports | Version: | 2.6.4 |
Keywords: | arm64 | Cc: | |
Port: | nodejs8 nodejs10 nodejs12 nodejs13 nodejs14 nodejs15 |
Description
I tried to install nodejs12 and nodejs14 ports, but installing icu fails by the following error:
:error:destroot Failed to destroot icu: icu-config differs in /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_icu/icu/work/destroot-arm64//opt/local/bin and /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_icu/icu/work/destroot-ppc-intel//opt/local/bin and cannot be merged
- This command fails because this command assumes inputs are binary, but icu-config is text file
- Why is +universal required for nodejs?
Attachments (3)
Change History (16)
Changed 4 years ago by shibukawa (Yoshiki Shibukawa)
comment:1 Changed 4 years ago by shibukawa (Yoshiki Shibukawa)
Version: | → 2.6.4 |
---|
comment:2 Changed 4 years ago by jmroot (Joshua Root)
Cc: | ci42 added |
---|---|
Keywords: | arm64 added; M1 removed |
comment:3 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Cc: | ci42 removed |
---|---|
Owner: | set to ci42 |
Port: | nodejs8 nodejs10 nodejs12 nodejs13 nodejs14 nodejs15 added; icu removed |
Status: | new → assigned |
Summary: | icu 67.1_2 [+universal]: build failed to try create universal binary of icu-config on Apple M1 → nodejs8 nodejs10 nodejs12 nodejs13 nodejs14 nodejs15: Add arm64 support |
Replying to shibukawa:
I tried to install nodejs12 and nodejs14 ports, but installing icu fails by the following error:
:error:destroot Failed to destroot icu: icu-config differs in /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_icu/icu/work/destroot-arm64//opt/local/bin and /opt/local/var/macports/build/_opt_local_var_macports_sources_rsync.macports.org_macports_release_tarballs_ports_devel_icu/icu/work/destroot-ppc-intel//opt/local/bin and cannot be merged
- This command fails because this command assumes inputs are binary, but icu-config is text file
No, it assumes that text files will be identical or at least mergeable (e.g. header files), and icu-config varies based on arch and shell scripts are not mergeable. This is #45268.
comment:4 Changed 4 years ago by hexagonal-sun (Matthew Leach)
I've added a PR that allows nodejs15 to be built on arm64: https://github.com/macports/macports-ports/pull/9381 . Built and tested on my machine.
Changed 4 years ago by raw-bin (Robin Randhawa)
Attachment: | main.2.log added |
---|
comment:5 follow-up: 8 Changed 4 years ago by raw-bin (Robin Randhawa)
Hi. I'm hitting a build failure for nodejs15 on my Macbook Pro 13 with M1 silicon, Big Sur.
I had extended the Portfile almost exactly similarly to the PR above (ie: https://github.com/macports/macports-ports/pull/9381) to try and get nodejs15 to build:
> git diff diff --git a/devel/nodejs15/Portfile b/devel/nodejs15/Portfile index 63557e2d2c3..660a2afe2cd 100644 --- a/devel/nodejs15/Portfile +++ b/devel/nodejs15/Portfile @@ -82,7 +82,7 @@ configure.args-append --shared-openssl-includes=${prefix}/include/openssl configure.args-append --shared-openssl-libpath=${prefix}/lib # V8 only supports ARM and IA-32 processors -supported_archs i386 x86_64 +supported_archs arm64 i386 x86_64 universal_variant no @@ -93,6 +93,9 @@ test.run yes test.cmd ${build.cmd} -j${build.jobs} switch $build_arch { + arm64 { + configure.args-append --dest-cpu=arm64 + } i386 { configure.args-append --dest-cpu=ia32 }
I don't understand the failure:
:info:build /usr/bin/clang++ -o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/bytecode_builtins_list_generator/deps/v8/src/builtins/generate-bytecodes-builtins-list.o ../deps/v8/src/builtins/generate-bytecodes-builtins-list.cc '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DV8_TARGET_ARCH_ARM64' '-DV8_EMBEDDER_STRING="-node.22"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DENABLE_MINOR_MC' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_CONCURRENT_MARKING' '-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' -I/opt/local/include/openssl -I../deps/v8 -I../deps/v8/include -O3 -gdwarf-2 -fstrict-aliasing -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++1y -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/.deps//opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/bytecode_builtins_list_generator/deps/v8/src/builtins/generate-bytecodes-builtins-list.o.d.raw -c :info:build /usr/bin/clang++ -o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/bytecode_builtins_list_generator/deps/v8/src/interpreter/bytecode-operands.o ../deps/v8/src/interpreter/bytecode-operands.cc '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DV8_TARGET_ARCH_ARM64' '-DV8_EMBEDDER_STRING="-node.22"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DENABLE_MINOR_MC' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_CONCURRENT_MARKING' '-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' -I/opt/local/include/openssl -I../deps/v8 -I../deps/v8/include -O3 -gdwarf-2 -fstrict-aliasing -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++1y -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/.deps//opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/bytecode_builtins_list_generator/deps/v8/src/interpreter/bytecode-operands.o.d.raw -c :info:build /usr/bin/clang++ -o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/bytecode_builtins_list_generator/deps/v8/src/interpreter/bytecodes.o ../deps/v8/src/interpreter/bytecodes.cc '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DV8_TARGET_ARCH_ARM64' '-DV8_EMBEDDER_STRING="-node.22"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DENABLE_MINOR_MC' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_CONCURRENT_MARKING' '-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' -I/opt/local/include/openssl -I../deps/v8 -I../deps/v8/include -O3 -gdwarf-2 -fstrict-aliasing -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++1y -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/.deps//opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/bytecode_builtins_list_generator/deps/v8/src/interpreter/bytecodes.o.d.raw -c :info:build rm -f /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/tools/v8_gypfiles/libtorque_base.a && ./gyp-mac-tool filter-libtool libtool -static -o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/tools/v8_gypfiles/libtorque_base.a /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/torque_base/deps/v8/src/torque/cfg.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/torque_base/deps/v8/src/torque/class-debug-reader-generator.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/torque_base/deps/v8/src/torque/csa-generator.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/torque_base/deps/v8/src/torque/declarable.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/torque_base/deps/v8/src/torque/declaration-visitor.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/torque_base/deps/v8/src/torque/declarations.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/torque_base/deps/v8/src/torque/earley-parser.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/torque_base/deps/v8/src/torque/global-context.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/torque_base/deps/v8/src/torque/implementation-visitor.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/torque_base/deps/v8/src/torque/instance-type-generator.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/torque_base/deps/v8/src/torque/instructions.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/torque_base/deps/v8/src/torque/server-data.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/torque_base/deps/v8/src/torque/source-positions.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/torque_base/deps/v8/src/torque/torque-compiler.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/torque_base/deps/v8/src/torque/torque-parser.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/torque_base/deps/v8/src/torque/type-inference.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/torque_base/deps/v8/src/torque/type-oracle.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/torque_base/deps/v8/src/torque/type-visitor.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/torque_base/deps/v8/src/torque/types.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/torque_base/deps/v8/src/torque/utils.o :info:build /usr/bin/clang++ -o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/gen-regexp-special-case/deps/v8/src/regexp/gen-regexp-special-case.o ../deps/v8/src/regexp/gen-regexp-special-case.cc '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DV8_TARGET_ARCH_ARM64' '-DV8_EMBEDDER_STRING="-node.22"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DENABLE_MINOR_MC' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_CONCURRENT_MARKING' '-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' -I/opt/local/include/openssl -I../deps/v8 -I../deps/v8/include -O3 -gdwarf-2 -fstrict-aliasing -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++1y -stdlib=libc++ -fno-rtti -fno-exceptions -fno-strict-aliasing -MMD -MF /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/.deps//opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/gen-regexp-special-case/deps/v8/src/regexp/gen-regexp-special-case.o.d.raw -c :info:build rm -f /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/libtorque_base.a && ./gyp-mac-tool filter-libtool libtool -static -o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/libtorque_base.a /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.target/torque_base/deps/v8/src/torque/cfg.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.target/torque_base/deps/v8/src/torque/class-debug-reader-generator.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.target/torque_base/deps/v8/src/torque/csa-generator.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.target/torque_base/deps/v8/src/torque/declarable.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.target/torque_base/deps/v8/src/torque/declaration-visitor.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.target/torque_base/deps/v8/src/torque/declarations.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.target/torque_base/deps/v8/src/torque/earley-parser.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.target/torque_base/deps/v8/src/torque/global-context.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.target/torque_base/deps/v8/src/torque/implementation-visitor.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.target/torque_base/deps/v8/src/torque/instance-type-generator.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.target/torque_base/deps/v8/src/torque/instructions.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.target/torque_base/deps/v8/src/torque/server-data.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.target/torque_base/deps/v8/src/torque/source-positions.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.target/torque_base/deps/v8/src/torque/torque-compiler.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.target/torque_base/deps/v8/src/torque/torque-parser.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.target/torque_base/deps/v8/src/torque/type-inference.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.target/torque_base/deps/v8/src/torque/type-oracle.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.target/torque_base/deps/v8/src/torque/type-visitor.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.target/torque_base/deps/v8/src/torque/types.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.target/torque_base/deps/v8/src/torque/utils.o :info:build /usr/bin/clang++ -o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/torque/deps/v8/src/torque/torque.o ../deps/v8/src/torque/torque.cc '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D_DARWIN_USE_64_BIT_INODE=1' '-DV8_TARGET_ARCH_ARM64' '-DV8_EMBEDDER_STRING="-node.22"' '-DENABLE_DISASSEMBLER' '-DV8_PROMISE_INTERNAL_FIELD_COUNT=1' '-DENABLE_MINOR_MC' '-DOBJECT_PRINT' '-DV8_INTL_SUPPORT' '-DV8_CONCURRENT_MARKING' '-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' -I/opt/local/include/openssl -I../deps/v8 -I../deps/v8/include -O3 -gdwarf-2 -fstrict-aliasing -arch arm64 -Wall -Wendif-labels -W -Wno-unused-parameter -std=gnu++1y -stdlib=libc++ -fno-rtti -fno-strict-aliasing -MMD -MF /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/.deps//opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/torque/deps/v8/src/torque/torque.o.d.raw -c :info:build /usr/bin/clang++ -Wl,-search_paths_first -arch arm64 -L/opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release -stdlib=libc++ -o "/opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/bytecode_builtins_list_generator" /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/bytecode_builtins_list_generator/deps/v8/src/builtins/generate-bytecodes-builtins-list.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/bytecode_builtins_list_generator/deps/v8/src/interpreter/bytecode-operands.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/bytecode_builtins_list_generator/deps/v8/src/interpreter/bytecodes.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/tools/v8_gypfiles/libv8_libbase.a -L/opt/local/lib -lcrypto -lssl -licui18n -licuuc -licudata :info:build LD_LIBRARY_PATH=/opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/lib.host:/opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../tools/v8_gypfiles; mkdir -p /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj/gen/generate-bytecode-output-root/builtins-generated; /opt/local/bin/python3.8 ../../deps/v8/tools/run.py "/opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/bytecode_builtins_list_generator" "/opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj/gen/generate-bytecode-output-root/builtins-generated/bytecodes-builtins-list.h" :info:build /usr/bin/clang++ -Wl,-search_paths_first -arch arm64 -L/opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release -stdlib=libc++ -o "/opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/gen-regexp-special-case" /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/gen-regexp-special-case/deps/v8/src/regexp/gen-regexp-special-case.o /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj.host/tools/v8_gypfiles/libv8_libbase.a -L/opt/local/lib -lcrypto -lssl -licui18n -licuuc -licudata :info:build LD_LIBRARY_PATH=/opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/lib.host:/opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../tools/v8_gypfiles; mkdir -p /opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj/gen/src/regexp; /opt/local/bin/python3.8 ../../deps/v8/tools/run.py "/opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/gen-regexp-special-case" "/opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj/gen/src/regexp/special-case.cc" :info:build Return code is -9 :info:build make[1]: *** [/opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj/gen/generate-bytecode-output-root/builtins-generated/bytecodes-builtins-list.h] Error 247 :info:build make[1]: *** Waiting for unfinished jobs.... :info:build Return code is -9 :info:build make[1]: *** [/opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj/gen/src/regexp/special-case.cc] Error 247 :info:build rm ebd40711b90a74d996c472003413358fb4245e94.intermediate efe84b39131780cd72eeb24bed25720a1f899971.intermediate 5f1942a7d88f5f16fe20a61db3abe3a8841dc8e7.intermediate :info:build make[1]: Leaving directory `/opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out' :info:build make: *** [node] Error 2 :info:build make: Leaving directory `/opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0' :info:build Command failed: cd "/opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0" && /usr/bin/make -j8 -w all CC=/usr/bin/clang CXX=/usr/bin/clang++ CXX.host=/usr/bin/clang++ CPP=/usr/bin/cpp CFLAGS="-Os" CXXFLAGS="-Os -stdlib=libc++" LDFLAGS="-L/opt/local/lib -Wl,-headerpad_max_install_names" PYTHON=/opt/local/bin/python3.8 V=1 :info:build Exit code: 2 :error:build Failed to build nodejs15: command execution failed :debug:build Error code: CHILDSTATUS 56622 2 :debug:build Backtrace: command execution failed :debug:build while executing :debug:build "system {*}$notty {*}$callback {*}$nice $fullcmdstring" :debug:build invoked from within :debug:build "command_exec -callback portprogress::target_progress_callback build" :debug:build (procedure "portbuild::build_main" line 8) :debug:build invoked from within :debug:build "$procedure $targetname" :error:build See /opt/local/var/macports/logs/_opt_mports_macports-ports_devel_nodejs15/nodejs15/main.log for details.
I'll attach the complete log file.
Note that 'port -v installed' reveals that there are only arm64 and noarch ports installed, so no univeral ports. Also, in case it matters (should it ?): I use alacritty as the terminal.
Any pointers appreciated!
comment:6 follow-up: 7 Changed 4 years ago by Matthew Leach <matthew@…>
comment:7 follow-up: 9 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to Matthew Leach <matthew@…>:
Add support for building nodejs15 on arm64 platforms.
What about the other nodejs ports that we have in MacPorts? Can they be modified same way, or does that not work, or did you not try?
comment:8 Changed 4 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to raw-bin:
Hi. I'm hitting a build failure for nodejs15 on my Macbook Pro 13 with M1 silicon, Big Sur.
It built fine on our arm64 buildbot worker:
so the problem appears to be unique to your system.
:info:build Return code is -9 :info:build make[1]: *** [/opt/local/var/macports/build/_opt_mports_macports-ports_devel_nodejs15/nodejs15/work/node-v15.4.0/out/Release/obj/gen/generate-bytecode-output-root/builtins-generated/bytecodes-builtins-list.h] Error 247
The log says you have Xcode 12.2 but we don't report what version of the command line tools you have. Is it possible you have an earlier version of the CLT? If so, install the Xcode 12.2 version of the CLT.
comment:9 Changed 4 years ago by hexagonal-sun (Matthew Leach)
Replying to ryandesign:
Replying to Matthew Leach <matthew@…>:
Add support for building nodejs15 on arm64 platforms.
What about the other nodejs ports that we have in MacPorts? Can they be modified same way, or does that not work, or did you not try?
I just tried nodejs14 with a similar fix but it didn't build. See attached log.
Unless patches are back ported to nodejs14, we may have nodejs15 support only.
Changed 4 years ago by hexagonal-sun (Matthew Leach)
Attachment: | main.3.log added |
---|
nodejs14 arm64 build
comment:10 Changed 4 years ago by hexagonal-sun (Matthew Leach)
Currently there is no npm port that has nodejs15 as a dependency. I've created https://github.com/macports/macports-ports/pull/9413 that allows npm6 to be used along with nodejs15. On my machine this seems to work fine.
As stated in the PR, there may be a good reason that npm6 uses nodejs14 as a dependency. If we wish to keep that the case, perhaps we could find an alternative that allows a fully working node system on arm64.
comment:11 follow-up: 12 Changed 4 years ago by urkle (Edward Rudd)
I created https://github.com/macports/macports-ports/pull/9633 which adds arm64 support to the nodejs12 port.
comment:12 follow-up: 13 Changed 2 years ago by barracuda156
Replying to urkle:
I created https://github.com/macports/macports-ports/pull/9633 which adds arm64 support to the nodejs12 port.
Does anyone know what is needed to implement PPC support? :)
(Node.js is needed to build Signal messenger.)
comment:13 Changed 2 years ago by ryandesign (Ryan Carsten Schmidt)
Replying to barracuda156:
Does anyone know what is needed to implement PPC support? :)
Off-topic for this ticket. I see you've already found an upstream issue about this: https://github.com/nodejs/node/issues/30323 If you can get nodejs working on PowerPC Mac OS X, please submit a pull request or file a separate ticket.
Back on-topic: nodejs12 and nodejs14 and later currently support arm64:
nodejs8/Portfile:supported_archs i386 x86_64 nodejs10/Portfile:supported_archs i386 x86_64 nodejs12/Portfile:supported_archs i386 x86_64 arm64 nodejs13/Portfile:supported_archs i386 x86_64 nodejs14/Portfile:supported_archs i386 x86_64 arm64 nodejs15/Portfile:supported_archs i386 x86_64 arm64 nodejs16/Portfile:supported_archs i386 x86_64 arm64 nodejs17/Portfile:supported_archs i386 x86_64 arm64 nodejs18/Portfile:supported_archs i386 x86_64 arm64
Why not nodejs13, nodejs10, or nodejs8? If they can be fixed, let's fix it; if not, let's close this ticket.
Replying to shibukawa:
From nodejs14:
With this setting, the only choice is to build for x86_64 on your arm64 hardware, which means all the dependencies have to be universal. Going by the comment, arm64 can be added to the supported archs.