instalar - Usando tanto git2 como hyper: openssl vinculado más de una vez
instalar openssl php (1)
El problema es la combinación de params y openssl:
[dependencies]
openssl = "0.9.1"
params = "0.5.0"
params 0.5 requiere multipart 0.8, con funciones server
, pero sin default-features = false
:
[dependencies.multipart]
features = ["server"]
version = "0.8"
Eso significa que multipart 0.8 también requerirá hyper 0.9 . Y hyper (usando las características por defecto) requiere openssl 0.7.
Hay un ticket en hyper para cambiar a una versión más nueva de openssl.
Intento crear algo que use tanto hyper como git2 al mismo tiempo. Ahora tengo un problema con que openssl se vincule dos veces. Un consejo de Shepmaster me llevó a las features
Cargos y lo intenté, pero todavía estoy atascado.
El error preciso que estoy obteniendo sobre cargo build
es el siguiente:
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
Por lo que puedo decir, openssl es requerido tanto por git2 como por hyper. ¿Alguien tiene alguna idea de lo que estoy haciendo mal? Como deshabilité las características predeterminadas para hyper (y cookie, por si acaso) ya no debería requerirse openssl. Revisé el archivo de bloqueo para ver si se requiere openssl
pero no pude encontrar nada. Pero todavía obtengo el error. Lamentablemente, la carga no me dice de dónde viene la dependencia.
Aquí está la sección de dependencia de Cargo.toml
y el archivo de bloqueo:
[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
Aquí está el Cargo.lock en caso de que sea de interés.