错误:使用 Rust/Anchor 为“openssl-sys v0.9.72”运行自定义构建命令失败
2022-04-01
6859
我尝试使用“
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
这是我在 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
2个回答
尝试安装 libssl-dev:
sudo apt-get install libssl-dev
KotlinIsland
2022-04-01
确保您还安装了
openssl
的开发包。
例如,Ubuntu 上的
libssl-dev
或 Fedora 上的
openssl-devel
。
Benyam
2022-08-30