本机库`kernel32`由多个包链接

时间:2015-11-09 08:35:03

标签: rust rust-cargo mio

我克隆并尝试构建MIO coroutines library,但其依赖关系似乎发生冲突:

native library `kernel32` is being linked to by more than one package, and can only be linked to by one package

  kernel32-sys v0.2.0
  kernel32-sys v0.1.4

似乎依赖项time需要kernel32 0.1.4,但其他两个依赖项fs2memmap需要0.2.0。

我能做些什么来解决它,或者在这种情况下最好的解决方案是提交错误报告吗?

在相关的说明中,如果回购没有Cargo.lock,那会算作错误吗?我已经看到它建议始终将Cargo.lock添加到版本控制中以防止出现这样的问题。

1 个答案:

答案 0 :(得分:2)

这是一个已记录的已知问题on the WinAPI bugtracker

似乎问题是维护者发布了一个新版本,将其从v0.1.x升级到v0.2.x.由于某些软件包依赖(并将继续依赖,直到它们更新)v0.1.x,因此Cargo抱怨这两个依赖项不兼容,并且拒绝将它们都链接起来。混乱接着发生。

根据上面提到的机票,现在应该纠正这个问题。