Skip to content

Upgrade dependencies

Currently tor dependencies are set to versions 0.9 or 0.11 and last arti crates are already version 0.28.

Upgrading all dependencies to their latest version gives the error:

    Updating crates.io index
error: failed to select a version for `libsqlite3-sys`.
    ... required by package `rusqlite v0.32.1`
    ... which satisfies dependency `rusqlite = "^0.32.1"` of package `tor-dirmgr v0.28.0`
    ... which satisfies dependency `tor-dirmgr = "^0.28"` of package `erpc-workers v0.1.0 (/home/user/code/tpo/network-health/erpc/erpc-workers)`
versions that meet the requirements `^0.30.1` are: 0.30.1

the package `libsqlite3-sys` links to the native library `sqlite3`, but it conflicts with a previous package which links to `sqlite3` as well:
package `libsqlite3-sys v0.32.0`
    ... which satisfies dependency `libsqlite3-sys = "^0.32.0"` of package `rusqlite v0.34.0`
    ... which satisfies dependency `rusqlite = "^0.34"` of package `r2d2_sqlite v0.27.0`
    ... which satisfies dependency `r2d2_sqlite = "^0.27"` of package `erpc-workers v0.1.0 (/home/user/code/tpo/network-health/erpc/erpc-workers)`
Only one package in the dependency graph may specify the same links value. This helps ensure that only one copy of a native library is linked in the final binary. Try to adjust your dependencies so that only one package uses the `links = "sqlite3"` value. For more information, see https://doc.rust-lang.org/cargo/reference/resolver.html#links.

failed to select a version for `libsqlite3-sys` which could resolve this conflict

This error is contemplated at https://gitlab.torproject.org/tpo/core/arti/-/blob/main/doc/TROUBLESHOOTING.md?ref_type=heads#compilation-issues (https://gitlab.torproject.org/tpo/core/arti/-/blob/526a05bf27178a10161062e678972e7b1dc3fa83/web/docs/guides/troubleshooting.md), though in erpc there's also r2d2_sqlite dependency.