错误:无法使用 Rust/Anchor 运行“openssl-sys v0.9.72”的自定义构建命令

Rok*_*ius 5 openssl build rust manjaro solana

我正在尝试使用“ anchor build”构建我的 Rust 项目,但我在终端中收到此错误消息

error: failed to run custom build command for `openssl-sys v0.9.72`

Caused by:
  process didn't exit successfully: `/home/rokasb/bachelor-project/kratos/target/release/build/openssl-sys-9488c608e06265da/build-script-main` (exit status: 101)
  --- stdout
  cargo:rustc-cfg=const_fn
  cargo:rerun-if-env-changed=BPFEL_UNKNOWN_UNKNOWN_OPENSSL_NO_VENDOR
  BPFEL_UNKNOWN_UNKNOWN_OPENSSL_NO_VENDOR unset
  cargo:rerun-if-env-changed=OPENSSL_NO_VENDOR
  OPENSSL_NO_VENDOR unset

  --- stderr
  thread 'main' panicked at 'don't know how to configure OpenSSL for bpfel-unknown-unknown', /home/rokasb/.cargo/registry/src/github.com-1ecc6299db9ec823/openssl-src-111.18.0+1.1.1n/src/lib.rs:283:18
  note: run with `RUST_BACKTRACE=1` environment variable to display a backtrace
warning: build failed, waiting for other jobs to finish...
error: build failed
Run Code Online (Sandbox Code Playgroud)

这是 Cargo.toml 文件中我的依赖项和功能:

[dependencies]
anchor-lang = "0.21.0"
openssl = { version = "0.10", features = ["vendored"] }

[features]
no-entrypoint = []
no-idl = []
no-log-ix-name = []
cpi = ["no-entrypoint"]
default = []
vendored-openssl = ["openssl/vendored"]
Run Code Online (Sandbox Code Playgroud)

感觉我已经尝试了一切让 openssl 在我的项目中工作,但它总是无法构建。我正在使用 Manjaro Linux。有什么想法可以解决这个问题并使 openssl 与 Rust 一起工作吗?

我尝试过以下操作:

  • 手动更改 PKG_CONFIG_PATH 和 OPENSSL_DIR
  • 更新 Rustrustup update
  • 删除和安装不同版本的openssl(使用pacman)
  • 运行这个命令sudo pacman -S pkg-config openssl
  • 将 Cargo.toml 中的依赖项更改为: [dependencies] openssl-sys = "0.9" openssl = "0.10"
  • 设置 PKG_CONFIG_ALLOW_CROSS=1

Kot*_*and 2

尝试安装 libssl-dev :

sudo apt-get install libssl-dev
Run Code Online (Sandbox Code Playgroud)