#24608 closed defect (fixed)

Update our Cargo.lock file to remove the deprecated and removed [root] section

Reported by: isis Owned by:
Priority: High Milestone: Tor: 0.3.3.x-final
Component: Core Tor/Tor Version: Tor: 0.3.2.6-alpha
Severity: Normal Keywords: rust, cargo, rust-pilot, tor-ci
Cc: Actual Points:
Parent ID: Points:
Reviewer: Sponsor: Sponsor8-can

Description

This is causing build errors on Travis, which picked up the newest cargo nightly a week ago. As pointed out by Sebastian, the error appears to be due to cargo issue #4563, which completely removed the [root] section of Cargo.lock files. Often, historically, the [root] section was used with an arbitrary non-existent crate, before cargo workspaces were implemented. However, our Cargo.lock file contains not only a [root], but one which points to a non-arbitrary crate, tor_util. IIUC, we'll just need to remove that section.

(While we're at it, we may want to update to the newest libc dependency.)

I think we'll need to backport this to 0.3.0.x, since no newer cargos will build something with a [root] section.

Child Tickets

Change History (8)

comment:1 Changed 23 months ago by nickm

fwiw, I am generally not backporting rust stuff, on the theory that anybody who wants rust experience should really be sticking with the latest and greatest.

(Edited to add: That is to say, I'm not treating "rust won't build" as a must-fix bug in anything older than 0.3.2.)

Last edited 23 months ago by nickm (previous) (diff)

comment:2 Changed 23 months ago by isis

Keywords: rust cargo rust-pilot tor-ci added

comment:3 in reply to:  1 Changed 23 months ago by isis

Replying to nickm:

fwiw, I am generally not backporting rust stuff, on the theory that anybody who wants rust experience should really be sticking with the latest and greatest.

(Edited to add: That is to say, I'm not treating "rust won't build" as a must-fix bug in anything older than 0.3.2.)


Understood. This means that, in order to build the 0.3.1.x and 0.3.0.x series, from now on, you'll need to get an older nightly rust compiler.

comment:4 Changed 23 months ago by Sebastian

One of the original goals was to build with 1.14 (because that's available in Debian). Did we lose that along the way? Maybe we can provide both Cargo files and switch them out depending on the toolchain?

comment:5 Changed 23 months ago by isis

A patch is in my bug24608 branch, but it's not fixing Travis yet. I'll update my local rustc/cargo and test it some more.

Also, for the dependency update, there's a patch in my bug24608_update_rust_dependencies [ branch], with its corresponding patch in the fix/24608 branch of my fork of Sebastian's tor-rust-dependencies repo. (The way we have things set up, Sebastian will need to merge that patch into his https://gitweb.torproject.org/user/Sebastian/tor-rust-dependencies repo.)

comment:6 Changed 22 months ago by isis

Carol Nichols and Alex Crichton seemed to have tracked down the regression, which was in part triggered by our use of $CARGO_HOME being inside the cargo workspace (trying very hard to not make a "THE BUGS ARE COMING FROM INSIDE THE $HOME" joke and failing). The issue for that is here. It should be in a nightly soon.

In the meantime, Alex suggested we remove the CARGO_HOME portion of the src/rust/target/release/@TOR_RUST_STATIC_NAME@ directive in src/rust/tor_rust/include.am.

comment:7 Changed 20 months ago by teor

Milestone: Tor: 0.3.2.x-finalTor: 0.3.3.x-final

These bugfix tickets have no patches. The earliest they will get done is 0.3.3.

comment:8 Changed 19 months ago by isis

Resolution: fixed
Status: newclosed

This was fixed upstream and appears to no longer be necessary. Patches for updating dependencies (and maintaining them) are in #25310.

Note: See TracTickets for help on using tickets.