Incompatibility between routing and safe_vault repositories

There has been a batch of commits recently in routing master branch (on 17/18/19 May) and safe_vault is not compatible anymore.

Will safe_vault MaidSafe repository updated soon, or is there somewhere another safe_vault repository compatible with current routing master branch?

2 Likes

safe_vault master should still compile ok as it should not be depending on routing github master but routing from crates.io. Are you seeing any build issues for safe_vault master?

It should be soon enough but there is also work going on to integrate Mutable Data to production branches, so it should all be occuring soon enough, however if there is an issue with building master from safe_vault right now, then that should be something that gets addressed sooner ofc.

2 Likes

My problem is that I have a local copy of safe_vault dependent on a local copy of routing. And I update them periodically when master branches are updated. And latest updates for routing was fatal for safe_vault.

I don’t quite remember all the things I did to try to make it work, but one of them was upgrading serde to 1.0.x and now I have this error:

error[E0106]: missing lifetime specifier
  --> src\chunk_store/mod.rs:82:28
   |
82 |     where Key: Serialize + Deserialize,
   |                            ^^^^^^^^^^^ expected lifetime parameter
1 Like

That may be your rust version? Some of our code uses features from 1.17 in some branches (serde made use of some neat new features)

2 Likes

If you’re using local overrides, it’d probably reflect stuff from crates better if you only update your local branches/forks via the tags when safe_vault updates accordingly. So right now when vault depends on routing 0.28.5, would help to keep your branches in sync to the corresponding tag from routing instead of master.

This way the behaviour would be as expected and your local branches should continue to function. depending on pure routing master is not really great as it breaks the whole package manager route and is one of the advantages of having such a package manager where libraries arent coupling each other immediately.

The error with lifetime as @dirvine mentions is to do with serde updates, but instead of patching that manually, I’d suggest just picking the corresponding routing tag of 0.28.5 instead of master until vault updates to make it simpler.

2 Likes

For anyone interested, I found this safe_vault fork which is compatible with current routing master branch (and this is what I wanted).

2 Likes