-
Notifications
You must be signed in to change notification settings - Fork 101
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
does v16 work on openwrt v21.02.1? #1046
Comments
on my debian docker is binutils is lower than it is problematic. |
binutils-common/stable,now 2.35.2-2 amd64 [installed,automatic]
binutils-x86-64-linux-gnu/stable,now 2.35.2-2 amd64 [installed,automatic]
binutils/stable,now 2.35.2-2 amd64 [installed]
libbinutils/stable,now 2.35.2-2 amd64 [installed,automatic] |
i increased the make cores from 8 to 9, i hope that is the problem. i am using an amd 5950x, but it stopped working above using 8 cores, i never tried 9 cores, 10 cores was giving more problems, 8 worked, so i hope the 9 make core settings was the problem. |
It is being test built just now. Please wait a little longer. |
ok thanks, so waiting for it. take care. |
ok so it will not working with default, i have to enable the feed openwet-21.02.0 branch? |
so does i use the feeds now? |
i suppose it works like |
the branch openwrt-21-02 is not including the node v16 right now. :) |
Completed a set of tests. no problems with v21.02.1. Merged. |
ok testing, with the |
have you experienced that |
i tried that master feed yesterday, building from the master, and it was the same error. |
@nxhack could you tell me the difference from the master and the do we have to update the feed branch from now or if we are building from your master and the latest stable openwrt, will it work? |
cannot build it: how do you build? not docker right? |
@nxhack is it possible to include this snippet in the build? nodejs/node#9137 (comment) |
ok, trying with |
i see that patch is included in the build, so why is it giving this similar error? |
@nxhack i think this argument too long error is missing in this path |
override: --- a/tools/gyp/pylib/gyp/generator/make.py
+++ b/tools/gyp/pylib/gyp/generator/make.py
@@ -155,6 +155,31 @@ cmd_alink_thin = rm -f $@ && $(AR.$(TOOLSET)) crsT $@ $(filter %.o,$^)
quiet_cmd_link = LINK($(TOOLSET)) $@
cmd_link = $(LINK.$(TOOLSET)) -o $@ $(GYP_LDFLAGS) $(LDFLAGS.$(TOOLSET)) -Wl,--start-group $(LD_INPUTS) $(LIBS) -Wl,--end-group
+# Note: this does not handle spaces in paths
+define xargs
+ $(1) $(word 1,$(2))
+$(if $(word 2,$(2)),$(call xargs,$(1),$(wordlist 2,$(words $(2)),$(2))))
+endef
+
+define write-to-file
+ @: >$(1)
+$(call xargs,@printf "%s\\n" >>$(1),$(2))
+endef
+
+OBJ_FILE_LIST := ar-file-list
+
+define create_archive
+ rm -f $(1) $(1).$(OBJ_FILE_LIST); mkdir -p `dirname $(1)`
+ $(call write-to-file,$(1).$(OBJ_FILE_LIST),$(filter %.o,$(2)))
+ $(AR.$(TOOLSET)) crs $(1) @$(1).$(OBJ_FILE_LIST)
+endef
+
+define create_thin_archive
+ rm -f $(1) $(OBJ_FILE_LIST); mkdir -p `dirname $(1)`
+ $(call write-to-file,$(1).$(OBJ_FILE_LIST),$(filter %.o,$(2)))
+ $(AR.$(TOOLSET)) crsT $(1) @$(1).$(OBJ_FILE_LIST)
+endef
+
# We support two kinds of shared objects (.so):
# 1) shared_library, which is just bundling together many dependent libraries
# into a link line.
@@ -199,6 +224,31 @@ cmd_alink = rm -f $@ && $(AR.$(TOOLSET)) crs $@ $(filter %.o,$^)
quiet_cmd_alink_thin = AR($(TOOLSET)) $@
cmd_alink_thin = rm -f $@ && $(AR.$(TOOLSET)) crsT $@ $(filter %.o,$^)
+# Note: this does not handle spaces in paths
+define xargs
+ $(1) $(word 1,$(2))
+$(if $(word 2,$(2)),$(call xargs,$(1),$(wordlist 2,$(words $(2)),$(2))))
+endef
+
+define write-to-file
+ @: >$(1)
+$(call xargs,@printf "%s\\n" >>$(1),$(2))
+endef
+
+OBJ_FILE_LIST := ar-file-list
+
+define create_archive
+ rm -f $(1) $(1).$(OBJ_FILE_LIST); mkdir -p `dirname $(1)`
+ $(call write-to-file,$(1).$(OBJ_FILE_LIST),$(filter %.o,$(2)))
+ $(AR.$(TOOLSET)) crs $(1) @$(1).$(OBJ_FILE_LIST)
+endef
+
+define create_thin_archive
+ rm -f $(1) $(OBJ_FILE_LIST); mkdir -p `dirname $(1)`
+ $(call write-to-file,$(1).$(OBJ_FILE_LIST),$(filter %.o,$(2)))
+ $(AR.$(TOOLSET)) crsT $(1) @$(1).$(OBJ_FILE_LIST)
+endef
+
# Due to circular dependencies between libraries :(, we wrap the
# special "figure out circular dependencies" flags around the entire
# input list during linking.
@@ -1766,14 +1816,28 @@ $(obj).$(TOOLSET)/$(TARGET)/%%.o: $(obj)/%%%s FORCE_DO_CMD
self.flavor not in ("mac", "openbsd", "netbsd", "win")
and not self.is_standalone_static_library
):
- self.WriteDoCmd(
+ if self.flavor in ('linux', 'android'):
+ self.WriteMakeRule(
[self.output_binary],
link_deps,
- "alink_thin",
- part_of_all,
- postbuilds=postbuilds,
- )
+ actions = ['$(call create_thin_archive,$@,$^)']
+ )
+ else:
+ self.WriteDoCmd(
+ [self.output_binary],
+ link_deps,
+ "alink_thin",
+ part_of_all,
+ postbuilds=postbuilds,
+ )
else:
+ if self.flavor in ('linux', 'android'):
+ self.WriteMakeRule(
+ [self.output_binary],
+ link_deps,
+ actions = ['$(call create_archive,$@,$^)']
+ )
+ else:
self.WriteDoCmd(
[self.output_binary],
link_deps, building non stop. let you know if it works. |
it is a different patch, than it is in the |
i override, both files
|
ok, the fix is working now. |
openwrt/packages#15986 (comment) I myself would like to remove this patch for this reason, but I am keeping it for convenience[To reduce the cost of support]. |
what do you mean? shoud i rename the filename? just let me know. sure. |
for now, the latest argument to long patch is working even in docker. |
Shortening the path would solve this problem. |
other people are getting this argument error and using this patch: |
that root path is |
Is the node-related feed you are using from this repository? Check it again calmly. |
the error is on the node build. as i said before above /bin/sh argument too long error... |
right right, 2 issues, now i see clearly :) |
RECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D__STDC_FORMAT_MACROS' '-DNODE_ARCH="arm"' '-DNODE_PLATFORM="linux"' '-DNODE_WANT_INTERNALS=1' '-DV8_DEPRECATION_WARNINGS=1' '-DNODE_OPENSSL_SYSTEM_CERT_PATH=""' '-DHAVE_INSPECTOR=1' '-D__POSIX__' '-DNODE_USE_V8_PLATFORM=1' '-DNODE_HAVE_I18N_SUPPORT=1' '-DNODE_HAVE_SMALL_ICU=1' '-DHAVE_OPENSSL=1' '-DOPENSSL_API_COMPAT=0x10000000L' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_STATIC_IMPLEMENTATION=1' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../src -I/build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0/out/Release/obj/gen -I/build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0/out/Release/obj/gen/include -I/build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0/out/Release/obj/gen/src -I../deps/googletest/include -I../deps/histogram/src -I../deps/uvwasi/include -I../deps/v8/include -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -I../deps/llhttp/include -I../deps/cares/include -I../deps/cares/src/lib -I../deps/brotli/c/include -Wall -Wextra -Wno-unused-parameter -pthread -Wall -Wextra -Wno-unused-parameter -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++14 -MMD -MF /build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0/out/Release/.deps//build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0/out/Release/obj.target/libnode/gen/src/node/inspector/protocol/NodeTracing.o.d.raw -Os -pipe -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=hard -ffile-prefix-map=/build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0=node-v16.13.0 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/build/source/staging_dir/toolchain-arm_cortex-a9+vfpv3-d16_gcc-8.4.0_musl_eabi/usr/include -I/build/source/staging_dir/toolchain-arm_cortex-a9+vfpv3-d16_gcc-8.4.0_musl_eabi/include/fortify -I/build/source/staging_dir/toolchain-arm_cortex-a9+vfpv3-d16_gcc-8.4.0_musl_eabi/include -c
arm-openwrt-linux-muslgnueabi-g++ -Os -pipe -o /build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0/out/Release/obj.target/libnode/gen/src/node/inspector/protocol/NodeRuntime.o /build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0/out/Release/obj/gen/src/node/inspector/protocol/NodeRuntime.cpp '-DV8_DEPRECATION_WARNINGS' '-DV8_IMMINENT_DEPRECATION_WARNINGS' '-D_GLIBCXX_USE_CXX11_ABI=1' '-D__STDC_FORMAT_MACROS' '-DNODE_ARCH="arm"' '-DNODE_PLATFORM="linux"' '-DNODE_WANT_INTERNALS=1' '-DV8_DEPRECATION_WARNINGS=1' '-DNODE_OPENSSL_SYSTEM_CERT_PATH=""' '-DHAVE_INSPECTOR=1' '-D__POSIX__' '-DNODE_USE_V8_PLATFORM=1' '-DNODE_HAVE_I18N_SUPPORT=1' '-DNODE_HAVE_SMALL_ICU=1' '-DHAVE_OPENSSL=1' '-DOPENSSL_API_COMPAT=0x10000000L' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_STATIC_IMPLEMENTATION=1' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' -I../src -I/build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0/out/Release/obj/gen -I/build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0/out/Release/obj/gen/include -I/build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0/out/Release/obj/gen/src -I../deps/googletest/include -I../deps/histogram/src -I../deps/uvwasi/include -I../deps/v8/include -I../deps/icu-small/source/i18n -I../deps/icu-small/source/common -I../deps/llhttp/include -I../deps/cares/include -I../deps/cares/src/lib -I../deps/brotli/c/include -Wall -Wextra -Wno-unused-parameter -pthread -Wall -Wextra -Wno-unused-parameter -O3 -fno-omit-frame-pointer -fno-rtti -fno-exceptions -std=gnu++14 -MMD -MF /build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0/out/Release/.deps//build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0/out/Release/obj.target/libnode/gen/src/node/inspector/protocol/NodeRuntime.o.d.raw -Os -pipe -fno-caller-saves -fno-plt -fhonour-copts -Wno-error=unused-but-set-variable -Wno-error=unused-result -mfloat-abi=hard -ffile-prefix-map=/build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0=node-v16.13.0 -Wformat -Werror=format-security -fstack-protector -D_FORTIFY_SOURCE=1 -Wl,-z,now -Wl,-z,relro -I/build/source/staging_dir/toolchain-arm_cortex-a9+vfpv3-d16_gcc-8.4.0_musl_eabi/usr/include -I/build/source/staging_dir/toolchain-arm_cortex-a9+vfpv3-d16_gcc-8.4.0_musl_eabi/include/fortify -I/build/source/staging_dir/toolchain-arm_cortex-a9+vfpv3-d16_gcc-8.4.0_musl_eabi/include -c
g++ -m32 -o /build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0/out/Release/obj.host/v8_base_without_compiler/deps/v8/src/api/api-arguments.o ../deps/v8/src/api/api-arguments.cc '-D_GLIBCXX_USE_CXX11_ABI=1' '-DV8_GYP_BUILD' '-DV8_TYPED_ARRAY_MAX_SIZE_IN_HEAP=64' '-D__STDC_FORMAT_MACROS' '-DV8_TARGET_ARCH_ARM' '-DCAN_USE_ARMV7_INSTRUCTIONS' '-DCAN_USE_VFP3_INSTRUCTIONS' '-DCAN_USE_VFP32DREGS' '-DV8_HAVE_TARGET_OS' '-DV8_TARGET_OS_LINUX' '-DV8_EMBEDDER_STRING="-node.13"' '-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_WEBASSEMBLY' '-DV8_ALLOCATION_FOLDING' '-DV8_ALLOCATION_SITE_TRACKING' '-DV8_ADVANCED_BIGINT_ALGORITHMS' '-DICU_UTIL_DATA_IMPL=ICU_UTIL_DATA_STATIC' '-DUCONFIG_NO_SERVICE=1' '-DU_ENABLE_DYLOAD=0' '-DU_STATIC_IMPLEMENTATION=1' '-DU_HAVE_STD_STRING=1' '-DUCONFIG_NO_BREAK_ITERATION=0' '-DUSE_EABI_HARDFLOAT=1' -I../deps/v8 -I../deps/v8/include -I/build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0/out/Release/obj/gen/inspector-generated-output-root -I../deps/v8/third_party/inspector_protocol -I/build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0/out/Release/obj/gen -I/build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0/out/Release/obj/gen/generate-bytecode-output-root -I../deps/icu-small/source/common -I../deps/icu-small/source/i18n -I../deps/icu-small/source/tools/toolutil -I../deps/v8/third_party/zlib -I../deps/v8/third_party/zlib/google -I/build/source/staging_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/usr/include -pthread -Wno-unused-parameter -Wno-return-type -fno-strict-aliasing -m32 -O3 -fno-omit-frame-pointer -fdata-sections -ffunction-sections -O3 -fno-rtti -fno-exceptions -std=gnu++14 -MMD -MF /build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0/out/Release/.deps//build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0/out/Release/obj.host/v8_base_without_compiler/deps/v8/src/api/api-arguments.o.d.raw -c
rm -f /build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0/out/Release/obj.target/tools/v8_gypfiles/libv8_base_without_compiler.a ar-file-list; mkdir -p `dirname /build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0/out/Release/obj.target/tools/v8_gypfiles/libv8_base_without_compiler.a`
make[5]: /bin/sh: Argument list too long
make[5]: *** [tools/v8_gypfiles/v8_base_without_compiler.target.mk:1038: /build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0/out/Release/obj.target/tools/v8_gypfiles/libv8_base_without_compiler.a] Error 127
make[5]: *** Waiting for unfinished jobs....
rm 86c73dbebb852e276145122b9284652ac900ca64.intermediate 5b537c8662424e8220a17ebbf61891b40e600295.intermediate 73754207999de0ac4847aa448dfbae0f23f938bd.intermediate ba42664bbc39650f74dc6a1feca2e670dd4e8079.intermediate 17f013dc1c3cfe05058fdb3215401cf5df3afffa.intermediate
make[4]: *** [Makefile:110: node] Error 2
make[4]: Leaving directory '/build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0'
make[3]: *** [Makefile:196: /build/source/build_dir/target-arm_cortex-a9+vfpv3-d16_musl_eabi/node-v16.13.0/.built] Error 2
time: package/feeds/node/node/compile#5988.77#313.36#1875.39 ok i keep this patch as that works, the ulimit -n is not working... |
To clarify again, this error is not about binutils. We will now focus on the "Argument list too long" issue. I'm talking about the Docker build environment. Please check.
|
well, my work is done here. |
Please change your view of this as well. A long path means, for example, this.
|
okok |
if anyone experience this error, the fix is this: |
I would like to clarify the difference between my current patch and this one. It will take a while. |
okok |
The difference is this. define xargs
-$(1) $(wordlist 1,1000,$(2))
-$(if $(word 1001,$(2)),$(call xargs,$(1),$(wordlist 1001,$(words $(2)),$(2))))
+$(1) $(word 1,$(2))
+$(if $(word 2,$(2)),$(call xargs,$(1),$(wordlist 2,$(words $(2)),$(2))))
endef This meaning indicates the difference in the unit of making the list of files to build. From this, it can be assumed that the Docker container environment probably has fewer values indicated by ARG_MAX. (I am investigating). I'm testing this with some modifications based on the meta-nodejs implementation, etc. |
not true, the ulimits are unlimited already. it is i think some kind of page variable in the kernel somewhere i saw... patrikx3@demona:~/Projects/patrikx3/openwrt-insomnia$ ./run
[sudo] password for patrikx3:
Unable to find image 'patrikx3/openwrt-insomnia:latest' locally
latest: Pulling from patrikx3/openwrt-insomnia
bb7d5a84853b: Pulling fs layer
f259d115b326: Pulling fs layer
c35130a3d396: Pull complete
bb10bf1e114d: Pull complete
b14940c71cdd: Pull complete
f14ca82012d3: Pull complete
097042bd4dd2: Pull complete
b13824e7c72b: Pull complete
693b6664cff4: Pull complete
d4ecd4c46cef: Pull complete
5eca87b6d3e3: Pull complete
c6ef2d1cc52c: Pull complete
1a878a0c2c33: Pull complete
d1d0d017eda8: Pull complete
40faa14a0c7b: Pull complete
d1a89dd2aace: Pull complete
7009d3173835: Pull complete
10d19c956a9a: Pull complete
32572c3c7bb0: Pull complete
aa59043a5e2c: Pull complete
43b047bb56f2: Pull complete
0f1bb852bc0f: Pull complete
6f7f9472c7e5: Pull complete
abfa15df5c90: Pull complete
b7c0b9cf8fc5: Pull complete
73d4e33c795c: Pull complete
c8ea0201eae0: Pull complete
0c2354eac6b6: Pull complete
417e9dd06c80: Pull complete
cec84494fb6e: Pull complete
Digest: sha256:9b767f5b6333af5b7e4a05e18205a4890e87bc431e369431f7e8e84a48730f16
Status: Downloaded newer image for patrikx3/openwrt-insomnia:latest
docker@7c52a6f678a3:/build/source$ getc
getcap getconf
docker@7c52a6f678a3:/build/source$ getc
getcap getconf
docker@7c52a6f678a3:/build/source$ getconf ARG_MAX
4611686018427387903
docker@7c52a6f678a3:/build/source$ ulimit
unlimited
docker@7c52a6f678a3:/build/source$ |
What a surprise.
|
you think i did not try everything else without patch? wow |
i built from the master on openwrt 20.02.1 successfully without any additional patches. thanks for the work! |
This link is now 404. |
the latest version works, see my cdn (multiple targets as well): |
on v21.02.0 node v14 worked on the default without using branches.
now on v21.02.1 as v16 is LTS i tried today, but it was giving errors.
is it supposed to work now v21.02.1 openwrt and nodejs v16?
The text was updated successfully, but these errors were encountered: