fresh icon indicating copy to clipboard operation
fresh copied to clipboard

rusty_v8 does not have musl target, not able to download

Open evan0greenup opened this issue 3 weeks ago • 6 comments

When build fresh for target aarch64-unknown-linux-gnu with command cross build --target=aarch64-unknown-linux-gnu --release, the following error is printed:

Emulate Docker CLI using podman. Create /etc/containers/nodocker to quiet msg.
   Compiling stable_deref_trait v1.2.1
   Compiling cfg-if v1.0.4
   Compiling memchr v2.7.6
   Compiling writeable v0.6.2
   Compiling serde_core v1.0.228
   Compiling serde v1.0.228
   Compiling libc v0.2.177
   Compiling allocator-api2 v0.2.21
   Compiling litemap v0.8.1
   Compiling smallvec v1.15.1
   Compiling equivalent v1.0.2
   Compiling zerofrom v0.1.6
   Compiling bitflags v2.10.0
   Compiling itoa v1.0.15
   Compiling foldhash v0.2.0
   Compiling ryu v1.0.20
   Compiling yoke v0.8.1
   Compiling icu_properties_data v2.1.1
   Compiling icu_normalizer_data v2.1.1
   Compiling num-traits v0.2.19
   Compiling once_cell v1.21.3
   Compiling serde_json v1.0.145
   Compiling zerovec v0.11.5
   Compiling zerotrie v0.2.3
   Compiling pin-project-lite v0.2.16
   Compiling hashbrown v0.16.1
   Compiling percent-encoding v2.3.2
   Compiling utf8_iter v1.0.4
   Compiling bytes v1.11.0
   Compiling zerocopy v0.8.31
   Compiling rustc-hash v2.1.1
   Compiling form_urlencoded v1.2.2
   Compiling radium v0.7.0
   Compiling ahash v0.8.12
   Compiling tap v1.0.1
   Compiling wyz v0.5.1
   Compiling outref v0.5.2
   Compiling rand_core v0.6.4
   Compiling log v0.4.28
   Compiling either v1.15.0
   Compiling uuid v1.19.0
   Compiling vsimd v0.8.0
   Compiling funty v2.0.0
   Compiling rand v0.8.5
   Compiling indexmap v2.12.1
   Compiling anyhow v1.0.100
   Compiling num-integer v0.1.46
   Compiling potential_utf v0.1.4
   Compiling tinystr v0.8.2
   Compiling icu_collections v2.1.1
   Compiling bitvec v1.0.1
   Compiling icu_locale_core v2.1.1
   Compiling base64-simd v0.8.0
   Compiling tracing-core v0.1.35
   Compiling new_debug_unreachable v1.0.6
   Compiling tree-sitter-language v0.1.5
   Compiling unicode-id-start v1.4.0
   Compiling data-encoding v2.9.0
   Compiling if_chain v1.0.3
   Compiling unicode-width v0.1.14
   Compiling tracing v0.1.43
   Compiling scoped-tls v1.0.1
   Compiling hashbrown v0.14.5
   Compiling better_scoped_tls v1.0.1
   Compiling icu_provider v2.1.1
   Compiling swc_visit v2.0.1
   Compiling siphasher v0.3.11
   Compiling siphasher v1.0.1
   Compiling static_assertions v1.1.0
   Compiling debugid v0.8.0
   Compiling bytes-str v0.2.7
   Compiling icu_normalizer v2.1.1
   Compiling icu_properties v2.1.1
   Compiling num-bigint v0.4.6
   Compiling triomphe v0.1.15
   Compiling phf_shared v0.11.3
   Compiling parking_lot_core v0.9.12
   Compiling scopeguard v1.2.0
   Compiling hstr v2.1.0
   Compiling lock_api v0.4.14
   Compiling phf v0.11.3
   Compiling signal-hook-registry v1.4.7
   Compiling mio v1.1.0
   Compiling swc_atoms v7.0.0
   Compiling parking_lot v0.12.5
   Compiling idna_adapter v1.2.1
   Compiling idna v1.1.0
   Compiling libm v0.2.15
   Compiling psm v0.1.28
   Compiling regex-syntax v0.8.8
   Compiling url v2.5.7
   Compiling typenum v1.19.0
   Compiling stacker v0.1.22
   Compiling smartstring v1.0.1
   Compiling aho-corasick v1.1.4
   Compiling generic-array v0.14.7
   Compiling arrayvec v0.7.6
   Compiling swc_sourcemap v9.3.4
   Compiling icu_locale_data v2.1.1
   Compiling thiserror v2.0.17
   Compiling socket2 v0.6.1
   Compiling regex-automata v0.4.13
   Compiling swc_common v14.0.4
   Compiling core_maths v0.1.1
   Compiling calendrical_calculations v0.2.3
   Compiling ryu-js v1.0.2
   Compiling icu_calendar_data v2.1.1
   Compiling tokio v1.48.0
   Compiling resb v0.1.1
   Compiling num_cpus v1.17.0
   Compiling swc_ecma_ast v15.0.0
   Compiling par-core v2.0.0
   Compiling simd-adler32 v0.3.7
   Compiling zoneinfo64 v0.2.1
   Compiling icu_locale v2.1.1
   Compiling block-buffer v0.10.4
   Compiling crypto-common v0.1.7
   Compiling crc32fast v1.5.0
   Compiling futures-core v0.3.31
   Compiling adler2 v2.0.1
   Compiling futures-sink v0.3.31
   Compiling base64 v0.22.1
   Compiling signal-hook v0.3.18
   Compiling rustix v1.1.2
   Compiling icu_calendar v2.1.1
   Compiling futures-channel v0.3.31
   Compiling miniz_oxide v0.8.9
   Compiling digest v0.10.7
   Compiling timezone_provider v0.1.2
   Compiling castaway v0.2.4
   Compiling cpufeatures v0.2.17
   Compiling proc-macro2 v1.0.103
   Compiling ixdtf v0.6.4
   Compiling futures-io v0.3.31
   Compiling futures-task v0.3.31
   Compiling linux-raw-sys v0.11.0
   Compiling pin-utils v0.1.0
   Compiling unicode-ident v1.0.22
   Compiling slab v0.4.11
   Compiling futures-util v0.3.31
   Compiling deno_error v0.7.1
   Compiling crossbeam-utils v0.8.21
   Compiling temporal_rs v0.1.2
   Compiling flate2 v1.1.5
   Compiling regex v1.12.2
   Compiling quote v1.0.42
   Compiling powerfmt v0.2.0
   Compiling unicode-width v0.2.0
   Compiling diplomat-runtime v0.14.0
   Compiling same-file v1.0.6
   Compiling utf8parse v0.2.2
   Compiling walkdir v2.5.0
   Compiling anstyle-parse v0.2.7
   Compiling rustix v0.38.44
   Compiling temporal_capi v0.1.2
   Compiling deranged v0.5.5
   Compiling swc_config v3.1.2
   Compiling tree-sitter v0.25.10
   Compiling signal-hook-mio v0.2.5
   Compiling v8 v142.2.0
   Compiling onig_sys v69.9.1
   Compiling sha1 v0.10.6
error: failed to run custom build command for `v8 v142.2.0`

Caused by:
  process didn't exit successfully: `/target/release/build/v8-03dff8ebb3da04bc/build-script-build` (exit status: 101)
  --- stdout
  cargo:rerun-if-changed=.gn
  cargo:rerun-if-changed=BUILD.gn
  cargo:rerun-if-changed=src/binding.cc
  cargo:rerun-if-env-changed=CCACHE
  cargo:rerun-if-env-changed=CLANG_BASE_PATH
  cargo:rerun-if-env-changed=CXXSTDLIB
  cargo:rerun-if-env-changed=DENO_TRYBUILD
  cargo:rerun-if-env-changed=DOCS_RS
  cargo:rerun-if-env-changed=GN
  cargo:rerun-if-env-changed=GN_ARGS
  cargo:rerun-if-env-changed=HOST
  cargo:rerun-if-env-changed=NINJA
  cargo:rerun-if-env-changed=OUT_DIR
  cargo:rerun-if-env-changed=RUSTY_V8_ARCHIVE
  cargo:rerun-if-env-changed=RUSTY_V8_MIRROR
  cargo:rerun-if-env-changed=RUSTY_V8_SRC_BINDING_PATH
  cargo:rerun-if-env-changed=SCCACHE
  cargo:rerun-if-env-changed=V8_FORCE_DEBUG
  cargo:rerun-if-env-changed=V8_FROM_SOURCE
  cargo:rerun-if-env-changed=PYTHON
  cargo:rerun-if-env-changed=DISABLE_CLANG
  cargo:rerun-if-env-changed=EXTRA_GN_ARGS
  cargo:rerun-if-env-changed=PRINT_GN_ARGS
  cargo:rerun-if-env-changed=CARGO_ENCODED_RUSTFLAGS
  cargo:rustc-link-lib=static=rusty_v8
  lockfile: "/target/aarch64-unknown-linux-musl/release/build/v8.fslock"
  cargo:rustc-env=RUSTY_V8_SRC_BINDING_PATH=<user_home>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/v8-142.2.0/gen/src_binding_release_aarch64-unknown-linux-musl.rs
  static lib URL: https://github.com/denoland/rusty_v8/releases/download/v142.2.0/librusty_v8_release_aarch64-unknown-linux-musl.a.gz
  cargo:rustc-link-search=/target/aarch64-unknown-linux-musl/release/gn_out/obj
  Looking for download in '"<user_home>/.cargo/.rusty_v8/https___github_com_denoland_rusty_v8_releases_download_v142_2_0_librusty_v8_release_aarch64_unknown_linux_musl_a_gz"'
  Downloading (using Python) https://github.com/denoland/rusty_v8/releases/download/v142.2.0/librusty_v8_release_aarch64-unknown-linux-musl.a.gz
  Python downloader failed, trying with curl.

  --- stderr

  thread 'main' (2169) panicked at <user_home>/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/v8-142.2.0/build.rs:636:3:
  assertion failed: status.success()
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...

In https://github.com/denoland/rusty_v8/releases/tag/v142.2.0, it seems that the release assets for aarch64 musl do not exist. Is there any way to build those essential assets from source?

evan0greenup avatar Dec 08 '25 06:12 evan0greenup

Yeah I hit the same issue. But it's a problem better solved by rusty_v8 maintainers, want to reach out to them?

sinelaw avatar Dec 08 '25 07:12 sinelaw

Blocked on https://github.com/denoland/rusty_v8/issues/49

sinelaw avatar Dec 09 '25 06:12 sinelaw

I'm looking at alternatives like QuickJS or moving to wasm, which would make this a non issue

sinelaw avatar Dec 10 '25 08:12 sinelaw

There's now a build for musl - with plugins disabled. It won't give you the full experience but it should work. Please try it out.

sinelaw avatar Dec 12 '25 09:12 sinelaw

Also getting this exact behavior where it tries to and fail to download the non-existent librusty-v8 even after I have already installed librusty-v8 on my aarch64 system via apt, and subsequently failed to build.

ZZZXXX0110 avatar Dec 18 '25 12:12 ZZZXXX0110

Try without plugins, --no-default-features --features runtime

sinelaw avatar Dec 18 '25 13:12 sinelaw