В общем, весь день бился, бился над проблемой, так ничего путного и не нашел.
Год назад был определенный код на Rust, который собирался через Cargo. Сейчас при компиляции вылазит ошибка:
Код:
# cargo build
Updating git repository `https://github.com/alexcrichton/flate2-rs.git`
Updating git repository `https://github.com/BurntSushi/byteorder.git`
Updating git repository `https://github.com/PistonDevelopers/image.git`
Updating registry `https://github.com/rust-lang/crates.io-index`
Adding bitflags v0.7.0
Adding color_quant v1.0.0
Adding deque v0.3.1
Adding flate2 v0.2.14
Adding gif v0.9.0
Adding inflate v0.1.1
Adding jpeg-decoder v0.1.6
Adding lzw v0.10.0
Adding miniz-sys v0.1.7
Adding num_cpus v0.2.13
Adding png v0.5.2
Adding rayon v0.4.0
Adding scoped_threadpool v0.1.7
error: native library `miniz` is being linked to by more than one package, and can only be linked to by one package
miniz-sys v0.1.7
miniz-sys v0.1.7 (https://github.com/alexcrichton/flate2-rs.git#633e94fb)
Cargo.toml прост до нельзя:
Код: Выделить всё
[package]
name = "miecore"
version = "0.2.0"
authors = ["BratSinot <bratsinot@gmail.com>"]
[dependencies]
flate2 = { git = "https://github.com/alexcrichton/flate2-rs.git" }
byteorder = { git = "https://github.com/BurntSushi/byteorder.git" }
image = { git = "https://github.com/PistonDevelopers/image.git" }
Из этих библиотек miniz-sys использует только flate2 и image (который тоже использует flate2).
Раньше все прекрасно работало, а теперь разработчики решили опять сделать какую-то "killer feature" и снова все поломали. Пока в flate2 включил режим использования zlib.