Task #7130
closedrust: dependency "time" fails to build on Rust nightly
Description
The Rust dependency "time" fails to build on Rust nightly, which means it is likely to fail on the next stable version of Rust.
We currently pin "time" to version 0.3.20 to meet our MSRV of 1.63. The latest version of "time" requires Rust 1.67, which is likely fine for master, but will bump the MSRV for which is not suitable for 7.
Recommendation is to set the version using configure
based on the Rust version.
Updated by OISF Ticketbot about 1 year ago
- Label deleted (
Needs backport to 7.0)
Updated by Jason Ish about 1 year ago
Issue with doing this with configure is if make dist
is run with newer Rust, a newer version of time
is vendored. Which breaks building from the dist archive on systems with the older version of Rust.
Updated by Jason Ish about 1 year ago
- Status changed from Assigned to In Review
Updated by Jason Ish about 1 year ago · Edited
Rust package renaming cannot be used due to sem-ver resolution, for example, this looks like it should work:
old-time = { package = "time", version = "=0.3.20" } time = { package = "time", version = "=0.3.35" }
but they resolve to the same sem-ver, at least with Cargo so the build fails.
Note that this works, and we have used this for Nom:
old-time = { package = "time", version = "=0.2.20" } time = { package = "time", version = "=0.3.35" }
as these resolve to versions that sem-ver doesn't call close enough.
Even if it did work, its unclear which one would be picked up by our dependencies that also depend on time. Use the patch
feature in PR 11406 does handle this case.
Updated by Philippe Antoine 12 months ago
- Blocks Optimization #4125: Ideal integration into oss-fuzz added
Updated by Victor Julien 11 months ago
- Status changed from In Review to Resolved
- Assignee changed from Jason Ish to Victor Julien