同时使用 git2 和 hyper:openssl 链接多次

2023-12-12

我正在尝试构建同时使用 hyper 和 git2 的东西。现在我遇到了 openssl 链接两次的问题。提示牧马人带我去货运站features我尝试过,但我仍然卡住了。

我遇到的确切错误cargo build如下:

error: native library `openssl` is being linked to by more than one version of the same package, but it can only be linked once; try updating or pinning your dependencies to ensure that this package only shows up once

  openssl-sys v0.7.17
  openssl-sys v0.9.1

据我所知,git2 和 hyper 都需要 openssl。有谁知道我做错了什么?由于我禁用了 hyper 的默认功能(并且还禁用了 cookie),因此它不再需要 openssl。我查看了锁定文件,看看是否openssl其他任何东西都需要,但我找不到任何东西。但我仍然收到错误。不幸的是,货物并没有告诉我依赖性从何而来。

这是我的Cargo.toml的依赖部分和锁定文件:

[dependencies]
openssl = "0.9.1"
hoedown = "5.0.0"
iron = "0.4.0"
webbrowser = "0.1.3"
router = "0.4.0"
staticfile = "0.3.1"
clap = "2.18.0"
lazy_static = "0.2.2"
linked-hash-map = "0.3.0"
params = "0.5.0"
git2 = "0.6.1"

[dependencies.yaml-rust]
version = "0.3.4"
features = ["preserve_order"]

[dependencies.hyper]
version = "0.9.12"
default-features = false

[dependencies.cookie]
version = "0.2.5"
default-features = false

这是货锁如果你感兴趣的话。


问题是 params 和 openssl 的组合:

[dependencies]
openssl = "0.9.1"
params = "0.5.0"

参数0.5需要 multipart 0.8,具有以下功能server, but without default-features = false:

[dependencies.multipart]
features = ["server"]
version = "0.8"

这意味着多部分 0.8还将需要超0.9。而 hyper(使用默认功能)需要 openssl 0.7。

有一个ticket在 hyper 中切换到较新的 openssl 版本。

本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)

同时使用 git2 和 hyper:openssl 链接多次 的相关文章

随机推荐