[英]Cargo build (BPF) stuck
我正在 Ubuntu 20.04 上部署Solana helloworld示例智能合约。 当运行npm run build:program-rust
时,存储库根目录中的package.json
指出这对应于cargo build-bpf --manifest-path=./src/program-rust/Cargo.toml --bpf-out-dir=dist/program
。 但是,运行此命令时,即使将详细标记附加到 cargo build 命令,编译也会卡住,没有任何指示器。
我全新安装了 Ubuntu 20.04,只执行了以下步骤:
sudo apt update && sudo apt upgrade
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh
sh -c "$(curl -sSfL https://release.solana.com/v1.8.6/install)"
git clone https://github.com/solana-labs/example-helloworld.git
运行which cargo-build-bpf
时, Ubuntu 指向目录~/.local/share/solana/install/releases/1.8.6/solana-release/bin/cargo-build-bpf
,说明PATH变量已经正确更新。
Cargo.toml 文件如下所示:
[package]
name = "solana-bpf-helloworld"
version = "0.0.1"
description = "Example template program written in Rust"
authors = ["Solana Maintainers <maintainers@solana.com>"]
repository = "https://github.com/solana-labs/solana"
license = "Apache-2.0"
homepage = "https://solana.com/"
edition = "2018"
[features]
no-entrypoint = []
[dependencies]
borsh = "0.9.3"
borsh-derive = "0.9.1"
solana-program = "~1.10.35"
[dev-dependencies]
solana-program-test = "~1.10.35"
solana-sdk = "~1.10.35"
[lib]
name = "helloworld"
crate-type = ["cdylib", "lib"]
昨天,我尝试删除 Cargo.lock 文件并运行cargo update
。 它在尝试检索也在Borsh
文件中指定的 Borsh crate 时卡住了。 我不完全知道这有什么关系,但似乎值得指出。
第一次运行cargo build-bpf
时,该命令会自动获取构建程序所需的 SDK,这可能需要一些时间。 不幸的是,没有任何迹象表明这种情况正在发生。
您可能需要重新安装 Solana CLI,重试,并确保等待足够长的时间。
声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.