You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I have a crate which depends on both ssh2 and hyper. Hyper is using openssl-sys 0.6.7 but ssh2-rs is using libssh2-sys which moved to openssl-sys 0.7.0 recently, without changing the MINOR version. This creates issues:
$ cargo build
native library `openssl` is being linked to by more than one package, and can only be linked to by one package
openssl-sys v0.6.7
openssl-sys v0.7.0
The workaround is to explicitly specify libssh2-sys older version in Cargo.toml, which is strange as I am only directly using ssh2-rs so I should not care about its dependencies:
I think openssh2-sys should increase the minor version when any of its dependencies is bumped with a new minor version. Then ssh2-rs should also raise the minor version accordingly when moving to the new libssh2-sys.That should make it possible for the user to control everything by specifying the ssh2-rs version only. I guess this is a lot of work as rust tends to favour many small crates but I think it is the right approach. Might also be a good idea if cratos.io force this kind of behaviour.
The text was updated successfully, but these errors were encountered:
Ah yes that's an instance of rust-lang/cargo#2064, where you'll have to manually bring the version of openssl-sys back to 0.6.7 via cargo update -p openssl-sys:0.7.0 --precise 0.6.7 to get the lockfile you want.
Hi
I have a crate which depends on both
ssh2
andhyper
. Hyper is usingopenssl-sys 0.6.7
butssh2-rs
is usinglibssh2-sys
which moved toopenssl-sys 0.7.0
recently, without changing the MINOR version. This creates issues:The workaround is to explicitly specify
libssh2-sys
older version inCargo.toml
, which is strange as I am only directly usingssh2-rs
so I should not care about its dependencies:I think
openssh2-sys
should increase the minor version when any of its dependencies is bumped with a new minor version. Thenssh2-rs
should also raise the minor version accordingly when moving to the newlibssh2-sys
.That should make it possible for the user to control everything by specifying thessh2-rs
version only. I guess this is a lot of work as rust tends to favour many small crates but I think it is the right approach. Might also be a good idea if cratos.io force this kind of behaviour.The text was updated successfully, but these errors were encountered: