错误:无法使用Rust/Anchor为"openssl sys v0.9.72"运行自定义生成命令



我正试图使用"CCD_ 1";,但我在终端中收到了这个错误消息

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

这是我在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"]

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

我尝试过以下内容:

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

尝试安装libssl dev:

sudo apt-get install libssl-dev

确保您也安装了openssl的开发包。例如,Ubuntu上的libssl-dev或Fedora上的openssl-devel

最新更新