Trouble building safe_vault


#1

Hi all, I’ve been lurking for a bit and wanted to pop out for a bit of input.

I’m in the process of setting up a test network using a collection of VPSs/servers at my disposal. I’m guessing I might be able to get by with the prebuilt safe_vault, but have been working on building from source. Currently I have been following:

(side note) I lost some time following the archive info, the readme should have some warnings/info…also the main vault repo would be nice if it contained some basic build instructions or at least a link to a list of dependencies etc.

Anyways, I have the repo cloned, installed rust, ran into errors, installed missing dependencies when prompted (ah the fun of build troubleshooting) and got stuck on building (cargo build --release) with the following errors:

Compiling safe_vault v0.18.0 (/home/graham/code/safe_vault)
error: lint private_no_mangle_fns has been removed: no longer an warning, #[no_mangle] functions always exported
–> src/lib.rs:206:5
|
206 | private_no_mangle_fns,
| ^^^^^^^^^^^^^^^^^^^^^
|
note: lint level defined here
–> src/lib.rs:196:5
|
196 | warnings
| ^^^^^^^^
= note: #[forbid(renamed_and_removed_lints)] implied by #[forbid(warnings)]

error: lint private_no_mangle_statics has been removed: no longer an warning, #[no_mangle] statics always exported
–> src/lib.rs:207:5
|
207 | private_no_mangle_statics,
| ^^^^^^^^^^^^^^^^^^^^^^^^^

error: aborting due to 2 previous errors

error: Could not compile safe_vault.

Additionally, while it doesn’t seem to be an issue, this is preceded by:
warning: An explicit [[test]] section is specified in Cargo.toml which currently disables Cargo from automatically inferring other test targets.

I searched the forum, checked the verbose logs and did some basic google searching but wasn’t able to find anything that helps. I’d appreciate any input to resolving this!

OS: Ubuntu 16.04
Rust: Latest installed/relogged
Dependencies: pkg-config, libssl-dev, all the ones that building with c requires

Thanks!


#2

I had a quick look and yes it looks like this broke with the Rust 1.31 update. It should be a simple fix though, just comment out those two lines on 206 and 207.


#3

I came across the same problem. This is an evolution of rust version 1.31. Removing the two following lines corrects the problem:

private_no_mangle_fns, 
private_no_mangle_statics, 

Edit: @jonhaggblad was slightly quicker than me.


#4
Finished release [optimized] target(s) in 1m 01s  

Thanks! I ended up commenting all references to private_no_mangle* out as there were still build issues when I commented lines 206/207. (Maybe I broke something in the process, I have no idea what it actually was doing… :wink: )

I’ll play around with it though, appreciate the help!

– Just ran it with the config for my private test network, it connected! We’re in business, time to break the internet a little bit.