nlfiedler / magick-rust

Rust bindings for ImageMagick
https://crates.io/crates/magick_rust
Apache License 2.0
258 stars 68 forks source link

Update to latest bindgen and fix everything #46

Closed nlfiedler closed 4 years ago

nlfiedler commented 6 years ago

The most recent bindgen release (0.42.0) causes many compiler warnings and errors with magick-rust. These are probably pretty easy to fix, so now's a good time to take care of that, before we fall too far behind to be manageable.

nlfiedler commented 6 years ago

Unfortunately, the docker rust image fails to build because it cannot find libclang.

nlfiedler commented 6 years ago

Version 0.31 is okay, all versions between that and 0.42 cause bizarre compiler errors in the docker rust image, while 0.42 has the libclang path problem.

nlfiedler commented 6 years ago

Filed bindgen bug: https://github.com/rust-lang-nursery/rust-bindgen/issues/1411

nlfiedler commented 6 years ago

Actually a bug in clang-sys crate: https://github.com/KyleMayes/clang-sys/issues/83

nlfiedler commented 5 years ago

Tried 0.44 and that works on macOS but fails with E0204 on Linux (docker image).

nlfiedler commented 5 years ago

0.47.1 also has the Copy trait problem. Will need to figure out how to fix it.

nlfiedler commented 5 years ago

Tried version 0.51.0: works fine on macOS and fails on the Linux docker image:

the trait `std::default::Default` is not implemented for `[u8; 44]

Will keep waiting for a version that works.

nlfiedler commented 5 years ago

Also tried Ubuntu 18.04 and that resulted in the same compile failure. Probably a general Linux issue that rust-bindgen has yet to deal with.

npajkovsky commented 4 years ago

I have fixed that issue and will submit pullreq in couple hours.

npajkovsky commented 4 years ago

pullreq submitted.

nlfiedler commented 4 years ago

Fixed in commit 92b12900ab0f90d66e455ff00e1edbe724c83f6d