Нативная библиотека `kernel32` связана более чем с одним пакетом
Я клонировал и пытался собрать библиотеку сопрограмм MIO, но ее зависимости, кажется, конфликтуют:
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, но две другие зависимости fs2
а также memmap
требуется 0.2.0.
Могу ли я что-нибудь сделать, чтобы решить эту проблему, или будет лучшим решением в подобных случаях просто подать отчет об ошибке?
С другой стороны, если в репо нет Cargo.lock, это считается ошибкой? Я видел, что рекомендуется всегда добавлять Cargo.lock в систему контроля версий, чтобы избежать подобных проблем.
1 ответ
Это известная проблема, которая была задокументирована на багтрекере WinAPI.
Кажется, проблема заключалась в том, что сопровождающий опубликовал новую версию, подняв ее с v0.1.x до v0.2.x. Так как некоторые пакеты зависят (и будут зависеть до тех пор, пока не будут обновлены) v0.1.x, Cargo пожаловалась, что эти две зависимости несовместимы, и отказалась связывать их обе в. Последовал хаос.
Теперь это должно быть исправлено, согласно билету, упомянутому выше.