Created attachment 799467 [details] nodejs build log and emerge --info I cannot crosscompile net-libs/nodejs-18.7.0 for arm64 I'm using crossdev with default/linux/arm64/17.0 profile. My CHOST and CBUILD: CHOST=aarch64-unknown-linux-gnu CBUILD=x86_64-pc-linux-gnu I'm attaching log with build errors and aarch64-unknown-linux-gnu-emerge --info
LD_LIBRARY_PATH=/usr/aarch64-unknown-linux-gnu/tmp/portage/net-libs/nodejs-18.7.0/work/node-v18.7.0/out/Release/lib.host:/usr/aarch64-unknown-linux-gnu/tmp/portage/net-libs/nodejs-18.7.0/work/node-v18.7.0/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../tools/v8_gypfiles; mkdir -p /usr/aarch64-unknown-linux-gnu/tmp/portage/net-libs/nodejs-18.7.0/work/node-v18.7.0/out/Release/obj/gen/src/regexp; /usr/bin/python3.10 ../../deps/v8/tools/run.py "/usr/aarch64-unknown-linux-gnu/tmp/portage/net-libs/nodejs-18.7.0/work/node-v18.7.0/out/Release/gen-regexp-special-case" "/usr/aarch64-unknown-linux-gnu/tmp/portage/net-libs/nodejs-18.7.0/work/node-v18.7.0/out/Release/obj/gen/src/regexp/special-case.cc" Traceback (most recent call last): File "/usr/aarch64-unknown-linux-gnu/tmp/portage/net-libs/nodejs-18.7.0/work/node-v18.7.0/tools/v8_gypfiles/../../deps/v8/tools/run.py", line 12, in <module> result = subprocess.call(sys.argv[1:]) File "/usr/lib/python3.10/subprocess.py", line 345, in call with Popen(*popenargs, **kwargs) as p: File "/usr/lib/python3.10/subprocess.py", line 969, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "/usr/lib/python3.10/subprocess.py", line 1845, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) OSError: [Errno 8] Exec format error: '/usr/aarch64-unknown-linux-gnu/tmp/portage/net-libs/nodejs-18.7.0/work/node-v18.7.0/out/Release/gen-regexp-special-case' make: *** [tools/v8_gypfiles/run_gen-regexp-special-case.target.mk:13: /usr/aarch64-unknown-linux-gnu/tmp/portage/net-libs/nodejs-18.7.0/work/node-v18.7.0/out/Release/obj/gen/src/regexp/special-case.cc] Error 1 make: *** Waiting for unfinished jobs....
Can you try passing --cross-compiling?
I've tried using --cross-compiling flag in nodejs-18.6.0 and nodejs-18.7.0 ebuilds. But flag does not help. This is a link to ebuild I've used for test (version 18.6.0). https://github.com/adippl/evgr/blob/master/net-libs/nodejs/nodejs-18.6.0.ebuild#L137 Build error: LD_LIBRARY_PATH=/usr/aarch64-unknown-linux-gnu/tmp/portage/net-libs/nodejs-18.6.0/work/node-v18.6.0/out/Release/lib.host:/usr/aarch64-unknown-linux-gnu/tmp/portage/net-libs/nodejs-18.6.0/work/node-v18.6.0/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../tools/v8_gypfiles; mkdir -p /usr/aarch64-unknown-linux-gnu/tmp/portage/net-libs/nodejs-18.6.0/work/node-v18.6.0/out/Release/obj/gen/src/regexp; /usr/bin/python3.10 ../../deps/v8/tools/run.py "/usr/aarch64-unknown-linux-gnu/tmp/portage/net-libs/nodejs-18.6.0/work/node-v18.6.0/out/Release/gen-regexp-special-case" "/usr/aarch64-unknown-linux-gnu/tmp/portage/net-libs/nodejs-18.6.0/work/node-v18.6.0/out/Release/obj/gen/src/regexp/special-case.cc" Traceback (most recent call last): File "/usr/aarch64-unknown-linux-gnu/tmp/portage/net-libs/nodejs-18.6.0/work/node-v18.6.0/tools/v8_gypfiles/../../deps/v8/tools/run.py", line 12, in <module> result = subprocess.call(sys.argv[1:]) File "/usr/lib/python3.10/subprocess.py", line 345, in call with Popen(*popenargs, **kwargs) as p: File "/usr/lib/python3.10/subprocess.py", line 969, in __init__ self._execute_child(args, executable, preexec_fn, close_fds, File "/usr/lib/python3.10/subprocess.py", line 1845, in _execute_child raise child_exception_type(errno_num, err_msg, err_filename) OSError: [Errno 8] Exec format error: '/usr/aarch64-unknown-linux-gnu/tmp/portage/net-libs/nodejs-18.6.0/work/node-v18.6.0/out/Release/gen-regexp-special-case' make: *** [tools/v8_gypfiles/run_gen-regexp-special-case.target.mk:13: /usr/aarch64-unknown-linux-gnu/tmp/portage/net-libs/nodejs-18.6.0/work/node-v18.6.0/out/Release/obj/gen/src/regexp/special-case.cc] Error 1 make: *** Waiting for unfinished jobs....
Any updates on this issue? I have similar problem cross compiling nodejs: LD_LIBRARY_PATH=/var/tmp/portage/net-libs/nodejs-18.12.1/work/node-v18.12.1/out/Release/lib.host:/var/tmp/portage/net-libs/nodejs-18.12.1/work/node-v18.12.1/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd ../tools/v8_gypfiles; mkdir -p /var/tmp/portage/net-libs/nodejs-18.12.1/work/node-v18.12.1/out/Release/obj/gen/src/regexp; /usr/bin/python3.11 ../../deps/v8/tools/run.py "/var/tmp/portage/net-libs/nodejs-18.12.1/work/node-v18.12.1/out/Release/gen-regexp-special-case" "/var/tmp/portage/net-libs/nodejs-18.12.1/work/node-v18.12.1/out/Release/obj/gen/src/regexp/special-case.cc" qemu-aarch64: Could not open '/lib/ld-linux-aarch64.so.1': No such file or directory Return code is 255
(In reply to Viacheslav Gagara from comment #4) > Any updates on this issue? > I have similar problem cross compiling nodejs: > > LD_LIBRARY_PATH=/var/tmp/portage/net-libs/nodejs-18.12.1/work/node-v18.12.1/ > out/Release/lib.host:/var/tmp/portage/net-libs/nodejs-18.12.1/work/node-v18. > 12.1/out/Release/lib.target:$LD_LIBRARY_PATH; export LD_LIBRARY_PATH; cd > ../tools/v8_gypfiles; mkdir -p > /var/tmp/portage/net-libs/nodejs-18.12.1/work/node-v18.12.1/out/Release/obj/ > gen/src/regexp; /usr/bin/python3.11 ../../deps/v8/tools/run.py > "/var/tmp/portage/net-libs/nodejs-18.12.1/work/node-v18.12.1/out/Release/gen- > regexp-special-case" > "/var/tmp/portage/net-libs/nodejs-18.12.1/work/node-v18.12.1/out/Release/obj/ > gen/src/regexp/special-case.cc" > qemu-aarch64: Could not open '/lib/ld-linux-aarch64.so.1': No such file or > directory > Return code is 255 This is kind of different because the qemu failure is because of a misconfigured qemu-user setup. But indeed the root issue of trying to run a just built binary is still there.