Skip to content

Building from source failed due to missing known-target-triples.txt #1949

@CSharperMantle

Description

@CSharperMantle

Host: Arch Linux loongarch64

I'm trying to build rusty_v8 as a dependency of codex-rs, but encounter the following error:

  lockfile: "/home/csmantle/dist/aur/openai-codex-git/src/codex/codex-rs/target/release/build/v8.fslock"
  Downloading https://storage.googleapis.com/chromium-browser-clang/Linux_x64/rust-toolchain-d2015e2359d5d0b154c2b192d4039f9b5711fcdc-4-llvmorg-23-init-484-gf646b915.tar.xz... Done.
  clang_base_path (system): /usr
  The current directory is /home/csmantle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/v8-146.4.0
  gn gen --root=/home/csmantle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/v8-146.4.0 /home/csmantle/dist/aur/openai-codex-git/src/codex/codex-rs/target/release/gn_out
  ERROR at //build/config/rust.gni:357:17: Could not read file.
        read_file(_known_rust_target_triples_filepath, "list lines")
                  ^----------------------------------
  I resolved this to "/home/csmantle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/v8-146.4.0/build/rust/known-target-triples.txt".
  See //build/config/coverage/BUILD.gn:7:1: whence it was imported.
  import("//build/config/rust.gni")
  ^-------------------------------
  See //build/config/BUILDCONFIG.gn:368:3: which caused the file to be included.
    "//build/config/coverage:default_coverage",
    ^-----------------------------------------

  --- stderr

  thread 'main' (1542786) panicked at /home/csmantle/.cargo/registry/src/index.crates.io-1949cf8c6b5b557f/v8-146.4.0/build.rs:1094:3:
  assertion failed: Command::new(gn()).arg(format!("--root={}",
                                                      dirs.root.display())).arg(format!("--script-executable={}",
                                                  python())).arg("gen").arg(&gn_out_dir).arg("--ide=json").arg("--args=".to_owned()
                                  +
                                  &args).stdout(Stdio::inherit()).stderr(Stdio::inherit()).envs(env::vars()).status().expect("Could not run `gn`").success()
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace

... with the following arguments passed to Cargo:

export RUSTUP_TOOLCHAIN=stable
export CARGO_TARGET_DIR=target
export GN=/usr/bin/gn
export AR=/usr/bin/llvm-ar
export NM=/usr/bin/llvm-nm
export NINJA=/usr/bin/ninja
export PYTHON=/usr/bin/python3
export CLANG_BASE_PATH=/usr
export SCCACHE=/usr/bin/sccache
export CCACHE=/usr/bin/ccache
export V8_FROM_SOURCE=1

cargo build --release --frozen

This is probably caused by the crate stripping away known-target-triples.txt in Cargo.toml:

"*.txt",

Adding this file to the exclusions at the end of the list would possibly solve this problem.

Metadata

Metadata

Assignees

No one assigned

    Labels

    No labels
    No labels

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions