d-e-s-o/nitrocli

Not building anymore

Opened this issue · 6 comments

I was trying to build latest nitrocli version on Arch Linux. It would fail with following error:
unnecessary trailing semicolon in macros.rs:131:21
$($body);*
error: could not compile 'libc'.
and a bunch of warnings regarding deprecation of cargo's use_std feature.

The issue seems to be in libc itself and has nothing to do with nitrocli. In fact, it even exists on devel. An upgrade to 0.2.66 (from 0.2.62) resolves it.

@robinkrahl used to maintain the Arch Linux build.

I suspect (but haven't verified) that it got introduced with a newer version of Rust. Newer versions sometimes add new lints or change the behavior of existing ones in unexpected ways. This may be the case here and that's why deny(warnings) is extremely dangerous and I removed that from this crate's code base.
That is a long winded way of saying that you may get lucky using an older version of Rust. Alternatively, compile top-of-tree devel from source.

I performed some tests:

  • cargo install works with stable/1.39.0 (log).
  • cargo build on master fails with 1.39.0 (log) but works with 1.38.0 (log).

libc fixed the problem with this commit (version 0.2.63).

Conclusion: Use rustc 1.38.0, use cargo install instead of cargo build, update the libc dependency to at least 0.2.63 or compile from devel instead of master.

Thanks Robin. I've just released 0.3.0 which should prevent this build failure on Rust 1.39. Feel free to push it into AUR if you have the cycles.

I’ve just updated the AUR build to 0.3.0-1.

Awesome! Thanks Robin! I don't see anything else to be done here then. Closing.