Ответ 1
Как работает ссылка, вы можете связать только одну версию родной библиотеки, иначе вы получите дубликаты символов. Cargo links
ключ манифеста помогает вам случайно не ссылаться на один и тот же набор символов дважды.
Чтобы решить эту проблему, вам нужно прочитать ваш Cargo.lock
(это не сложный формат файла для понимания). Найдите ящики, в которых есть оскорбительная библиотека, как зависимость, и обратите внимание, какие из них имеют конфликтующие версии.
Затем вам нужно вручную разрешить свои зависимости, чтобы их зависимости использовали ту же версию собственной библиотеки.
В этом случае важными аспектами цепочки зависимостей являются:
server (0.0.1) => cookie (0.2.4) => openssl (0.7.13)
=> hyper (0.6.16) => cookie (0.1.21) => openssl (0.6.7)
Чтобы исправить это, измените свой Cargo.toml
, чтобы использовать ту же самую версию cookie, что и гипер. Тогда вы неявно получите ту же версию openssl.
Честно говоря, это одна из самых грубых частей Руста на данный момент. По крайней мере, эта версия "нескольких разных версий одного и того же ящика" странности обеспечивает прямолинейную ошибку Cargo.