Gentoo Websites Logo
Go to: Gentoo Home Documentation Forums Lists Bugs Planet Store Wiki Get Gentoo!
Bug 865011 - net-libs/nodejs-18.7.0: cross compiling for arm64 fails (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')
Summary: net-libs/nodejs-18.7.0: cross compiling for arm64 fails (OSError: [Errno 8] E...
Status: UNCONFIRMED
Alias: None
Product: Gentoo Linux
Classification: Unclassified
Component: Current packages (show other bugs)
Hardware: All Linux
: Normal normal (vote)
Assignee: William Hubbs
URL:
Whiteboard:
Keywords:
Depends on:
Blocks:
 
Reported: 2022-08-12 19:11 UTC by ev
Modified: 2022-12-09 16:49 UTC (History)
2 users (show)

See Also:
Package list:
Runtime testing required: ---


Attachments
nodejs build log and emerge --info (nodejs_log.txt,356.88 KB, text/plain)
2022-08-12 19:11 UTC, ev
Details

Note You need to log in before you can comment on or make changes to this bug.
Description ev 2022-08-12 19:11:17 UTC
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
Comment 1 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-08-12 19:16:05 UTC
  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....
Comment 2 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-08-12 19:20:25 UTC
Can you try passing --cross-compiling?
Comment 3 ev 2022-08-16 11:19:29 UTC
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....
Comment 4 Viacheslav Gagara 2022-12-09 16:29:35 UTC
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
Comment 5 Sam James archtester Gentoo Infrastructure gentoo-dev Security 2022-12-09 16:49:49 UTC
(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.