【问题标题】:Why doesn't the rust crate openssl-sys compile?为什么 rust crate openssl-sys 不能编译?
【发布时间】:2021-11-05 01:44:02
【问题描述】:

我刚刚在我的 Rust 项目中添加了一个外部 crate:

[dependencies]
feed = "2.0"

这个 crate 有几个依赖项,特别是 openssl-sys v0.9.10。当我尝试构建我的项目时,这个失败了:

$ cargo build 
Compiling unicode-normalization v0.1.4
Compiling openssl-probe v0.1.0
Compiling matches v0.1.4
Compiling log v0.3.7
Compiling unicode-bidi v0.2.5
Compiling libc v0.2.21
Compiling quick-xml v0.4.2
Compiling pkg-config v0.3.9
Compiling rss v0.4.0
Compiling idna v0.1.1
Compiling time v0.1.36
Compiling num-traits v0.1.37
Compiling gcc v0.3.45
Compiling num-integer v0.1.34
Compiling url v1.4.0
Compiling num-iter v0.1.33
Compiling num v0.1.37
Compiling chrono v0.3.0
Compiling openssl-sys v0.9.10
Compiling libz-sys v1.0.13
error: failed to run custom build command for `openssl-sys v0.9.10`
process didn't exit successfully: 
`/home/E3news/flux/target/debug/build/openssl-sys-223aa532c32a251f/build-script-build` (exit code: 101)
--- stderr
thread 'main' panicked at 'called `Result::unwrap()` on an `Err` value: "Failed to run `\"pkg-config\" \"--libs\" \"--cflags\" \"openssl\"`: No such file or directory (os error 2)"', /buildslave/rust-
buildbot/slave/stable-dist-rustc-linux/build/src/libcore/result.rs:868
note: Run with `RUST_BACKTRACE=1` for a backtrace.

Build failed, waiting for other jobs to finish...
error: build failed

我使用的是 Debian 8.7,我使用的是 Rust 1.16。我尝试通过在我的操作系统上安装 libssl-dev 进行修复,但它并没有解决问题。

有什么想法吗?

【问题讨论】:

  • 你安装了pkg-configopenssl吗?
  • 是的,它有效! openssl 已安装,但未安装 pkg-config。所以: - apt install pkg-config - cargo clean - cargo build 解决我的问题。谢谢@kennytm!

标签: rust rust-cargo


【解决方案1】:

来自cmets:

你安装了pkg-configopenssl吗?


是的,它有效! openssl 已安装,但未安装 pkg-config。所以:

$ apt install pkg-config
$ cargo clean 
$ cargo build

解决了我的问题。谢谢@kennytm!

【讨论】:

  • 在我的情况下,我都安装了,但编译仍然失败。运行cargo clean 解决了它。
猜你喜欢
  • 2016-10-28
  • 1970-01-01
  • 2015-10-31
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2016-04-09
相关资源
最近更新 更多