v8-riscv / node

Node.js on RISC-V! See the link below to learn more and try it out.
https://github.com/v8-riscv/node/wiki
Other
29 stars 4 forks source link

./configure breaks while building natively on riscv64 #5

Closed carlosedp closed 2 years ago

carlosedp commented 4 years ago
❯ uname -a
Linux unleashed 5.8.0-rc2-dirty #2 SMP Wed Jun 24 15:33:47 EDT 2020 riscv64 GNU/Linux
❯ cat /etc/os-release
PRETTY_NAME="Debian GNU/Linux bullseye/sid"
NAME="Debian GNU/Linux"
ID=debian
HOME_URL="https://www.debian.org/"
SUPPORT_URL="https://www.debian.org/support"
BUG_REPORT_URL="https://bugs.debian.org/"
❯ cat /etc/debian_version
bullseye/sid

What steps will reproduce the bug?

While attepting to build nodejs natively in an Unleashed board, ./configure --verbose --openssl-no-asm --build-v8-with-gn breaks with the following error:

❯ ./configure --verbose  --openssl-no-asm --build-v8-with-gn
Node.js configure: Found Python 3.8.3...
Detected C++ compiler (CXX=g++) version: 9.3.0
Detected C compiler (CC=gcc) version: 9.3.0
Fetching dependencies to build V8 with GN
Using depot tools in /work/repos/node/deps/v8/_depot_tools
Initializing temporary git repository in v8.
Fetching dependencies.
Syncing projects: 100% (30/30), done.

________ running 'cipd ensure -log-level error -root . -ensure-file /tmp/tmpmnxlrdq5.ensure' in '.'
UNKNOWN Machine architecture: riscv64
Error: Command 'cipd ensure -log-level error -root . -ensure-file /tmp/tmpmnxlrdq5.ensure' returned non-zero exit status 1
Uninitializing temporary git repository
Traceback (most recent call last):
  File "./configure", line 24, in <module>
    import configure
  File "/work/repos/node/configure.py", line 1760, in <module>
    configure_v8(output)
  File "/work/repos/node/configure.py", line 1289, in configure_v8
    options.build_v8_with_gn = FetchDeps(v8_path)
  File "deps/v8/tools/node/fetch_deps.py", line 83, in FetchDeps
    subprocess.check_call([sys.executable, gclient, "sync", "--spec", spec],
  File "/usr/lib/python3.8/subprocess.py", line 364, in check_call
    raise CalledProcessError(retcode, cmd)
subprocess.CalledProcessError: Command '['/usr/bin/python3.8', '/work/repos/node/deps/v8/_depot_tools/gclient.py', 'sync', '--spec', "solutions = [{'name': 'v8', 'url': 'https://chromium.googlesource.com/v8/v8.git', 'deps_file': 'DEPS', 'managed': False, 'custom_deps': {'v8/base/trace_event/common': None, 'v8/third_party/googletest/src': None, 'v8/test/benchmarks/data': None, 'v8/testing/gmock': None, 'v8/test/mozilla/data': None, 'v8/test/test262/data': None, 'v8/test/test262/harness': None, 'v8/third_party/android_ndk': None, 'v8/third_party/android_sdk': None, 'v8/third_party/catapult': None, 'v8/third_party/colorama/src': None, 'v8/third_party/fuchsia-sdk': None, 'v8/third_party/instrumented_libraries': None, 'v8/tools/luci-go': None, 'v8/tools/swarming_client': None, 'v8/third_party/qemu-linux-x64': None}}]"]' returned non-zero exit status 1.

Apparently the cipd tool does not exist natively for riscv64.

carlosedp commented 4 years ago

Apparently this check in cipd (part of depot_tools) doesn't include riscv64:

https://chromium.googlesource.com/chromium/tools/depot_tools.git/+/7e50ee376bd57b299fb70c812b6cf76f4c34414b/cipd#35

qjivy commented 2 years ago

Already fix by:

https://github.com/nodejs/node/pull/37980 https://github.com/nodejs/node/pull/39004 https://github.com/nodejs/node/pull/40063

Now nodejs can be both natively build on Unmatched and cross build on X64.

Pls try again.