Sodiumoxide and libsodium crates (safe_vault dependencies)

What do these crates actually do? Are they broken or am I doing something wrong?

If I compile safe_vault on a vanilla, virgin install of Debian, I see that it downloads and compiles crates named sodiumoxide and libsodium.

The compile then fails with:

error: failed to run custom build command for `libsodium-sys v0.0.10`

OK, months ago I attributed this to a bug (since I described it here and no-one said anything) I found a way to get the compile to complete by compiling and installing libsodium (the C++ library, not the crate) and then its rust binding sodiumoxide (the rust program, not the crate). And yes, the resulting safe_vault binary is dynamically linked to libsodium rather than statically, which limits its portability, but that’s another issue.

My question here is what do these crates actually do, if anything, because statically linking libsodium into the resulting binary of safe_vault isn’t it.

EDIT: On crates.io there is this:

libsodium-sys 0.0.10
FFI binding to libsodium

sodiumoxide 0.0.10
Fast cryptographic library for Rust (bindings to libsodium)

Also on there I found:

maidsafe_sodiumoxide 0.0.13
Fast cryptographic library for Rust (bindings to libsodium)

2 Likes