rust-lang/cmake-rs

0.1.46 does not work

fafhrd91 opened this issue · 12 comments

trying to build snmalloc-rs crate and getting Unknown argument --parallel error. works fine with 0.1.45

mjp41 commented

@fafhrd91 which version of CMake are you using. I looks like this release picked up a requirement on 3.12.
https://github.com/alexcrichton/cmake-rs/pull/123/files

That PR says --parallel was introduced with v3.12.
https://cmake.org/cmake/help/v3.12/manual/cmake.1.html#build-tool-mode

The current release of snmalloc-rs only requires 3.8, so perhaps the checking is missing from cmake-rs for the new minimum version?

we use cmake 3.10, that is fine to bump requirement but just unexpected for patch version change

Thanks for the report, but yes the minimum version is now one that supports the --parallel argument. Are you unable to upgrade cmake?

I'm trying to see if there's a way to bump us to to 3.12 at work but I'm not sure if that's possible right now and still working on that. The patch update is affecting libz-sys which isn't using a pinned version of this and so cargo update broke the build.

As an update we can't update it right now for reasons but pinning cmake works just fine for us by adding it as a dep to the main application with:

[dependencies]
cmake = "=0.1.45"
mygnu commented

related #131

mygnu commented

FYI, this is breaking builds on still supported ubuntu18.04 LTS

I've posted before that I'm having a lot of trouble maintaining this crate and I am not the best person for the job any more. I do not have the motivation to investigate this and fix it. I can try to manage PRs and help guide others toward a solution but honestly I'm burned out on this crate and need help. If anyone is passionate about fixing this it would be great to either receive a PR or get help in maintaining this crate.

I can try to take a look at this later today; it would make sense to me to do version checks, which should be pretty easy given the current code? Especially since --parallel is not necessarily a need. It would also be good to define a minimum CMake version we require, so that we only need to do version checks for features past that.

Yes, this broke the build for my Eclipse Paho MQTT crate on Ubuntu 18.04. (eclipse-paho/paho.mqtt.rust#137)
Sorry I'm not very good with CMake, but I can help test/review any fix.

Is there any way to just check the version of cmake by issuing a "--version" command, prior to using flags that aren't present? This bit me hard today.

Filed #146 to fix this.