New Release: Vault Phase 1 (real vault)

Not sure if this is related to the move to musl but on Debian 9 I got a GLIBC_2.25 not found error when running safe_auth. Fixed it by following the final post in this thread. Leaving this here in case anyone has similar issues.

.

6 Likes

I just tried, the released vault linux binary doesn’t work on the pi. I’ll try building it

5 Likes

The authenticator isn’t built with musl yet - only vault is for now. We have plans to remove a C dependency that is currently preventing us from building safe_auth and safe with musl, but we’re not quite there yet.

10 Likes

I think you will also need to compile for the ARM (v7?) processor architecture for Raspberry Pi etc. I’m trying to find topics on this atm. With Rust cross compilation this is fairly straightforward (famous last words).

Here’s one - I believe you can ignore all the stuff up front about libsodium now so it might be trivial!

11 Likes

@happybeing Nice one, lots of useful information in there! Thanks for taking the time to put that together.

Funnily enough, it’s actually libsodium that was preventing us from building safe and safe_auth with musl. Did you ever have that statically linked at some point?

7 Likes

so I just built the vault on the pi4 , it works without any problem either.

11 Likes

I can’t remember but there may be other topics that I didn’t find. I’ll check my in notes in case they have more info.

@chriso update: I have a long page of notes which suggest I did get things linking although I can’t be certain. Also note that it was in the very early days. The notes include the following (I can PM them all if it might help):

Static libsodium build:

mkdir ~/src/libsodium-1.0.3/target/arm-unknown-linux-gnueabihf
cd ~/src/libsodium-1.0.3/target/arm-unknown-linux-gnueabihf

export CC=arm-linux-gnueabihf-gcc-4.9
…/…/configure --enable-static LDFLAGS=-static --build=x86_64-unknown-linux-gnu --host=arm-unknown-linux-gnueabihf --target=arm-unknown-linux-gnueabihf
make v=1
sudo make install
sudo ln -s /home/mrh/src/libsodium-1.0.3/target/arm-unknown-linux-gnueabihf/src/libsodium/.libs/libsodium.a /usr/local/lib

Any maidsafe examples built (with libsodium.a in /usr/local/lib) with have libsodium statically linked in and not need anything else to run on the target.

Dynamic libsodium build:

mkdir ~/src/libsodium-1.0.3/target/arm-unknown-linux-gnueabihf
cd ~/src/libsodium-1.0.3/target/arm-unknown-linux-gnueabihf

export CC=arm-linux-gnueabihf-gcc-4.9
…/…/configure --build=x86_64-unknown-linux-gnu --host=arm-unknown-linux-gnueabihf --target=arm-unknown-linux-gnueabihf
make v=1
sudo make install
sudo ln -s /home/mrh/src/libsodium-1.0.3/target/arm-unknown-linux-gnueabihf/src/libsodium/.libs/libsodium.so /usr/lib/arm-linux-gnueabihf/libsodium.so
sudo ln -s /home/mrh/src/libsodium-1.0.3/target/arm-unknown-linux-gnueabihf/src/libsodium/.libs/libsodium.so.13 /usr/lib/arm-linux-gnueabihf/libsodium.so.13

Maidsafe Rust libs and examples for ARM can now link with libsodium.so, but for them to work you need to copy libsodium.so onto the ARM device (e.g. into it’s /usr/local/lib).

7 Likes

Honestly, this is a great feature not a bug. There is ABSOLUTELY NO NEED for the native vault code to be supported by the devs on Windows at this stage or any future time. The reasons for this are too many to list.

The virtual machine issue is separate, and I would be surprised that it isn’t working as usual on an Ubuntu host or debian host in something like virtualbox. Vault operators intent on using windows as the native host to try out SAFE software can then be directed to a debian or centos virtual machine on top of vbox, which are all FOSS. So Everyone is included and given an easy onramp, just in a more streamlined fashion that makes the development less of a hassle or induce other more serious bugs…

1 Like

To summarize, I succesfully managed to build the vault, the safe-authenticator-cli and the safe-cli from git on the raspberry pi4, simply using cargo build
In order to satisfy dependancies I just had to apt install libssl-dev

The safe cli now gives me a sweet

Authorising CLI application...
SAFE CLI app was successfully authorised
Credentials were stored in whereithastobestored

Awesome work @maidsafe team !

11 Likes

WSL could be another option. Also free. Did anybody give that a try?

2 Likes

If anyone is up for downloading some music from the shared vault,

safe cat safe://hbyyyynndgnwyik7t6mba3ojxti5ar6r35mbzs9ek6erby8iaqc975b9j4 > a-song.mp3

I’ll let the song be a surprise :wink:

14 Likes

Don’t agree. The average windows user must have the same rights to run a Vault as any other user with linux or OSX without the need to complicate with VM.

I can’t understand this kind of xenophobia of operating systems. The more people get to run a Vault, the better. Period.

13 Likes

With Windows making up 80% of the desktop OS market it would be mad to exclude it if the aim is to get as many vaults as possible operating in the shortest possible time. Most non-Mac-owning non-techies I know wouldn’t go anywhere near Linux or Virtualbox. It’s a huge additional barrier, even if arguably a psychological one.

10 Likes

You are both right, and I don’t disagree with your statements.

4 Likes

It comes from experience. The host OS endpoint is the weakest link in the SAFE network. A late night Windows update leading to 80% of desktop vaults going offline is not acceptable. It’s why we will need SafeOS.

6 Likes
safe cat safe://hbyyyyn48uc44z7o3wjus5jsieu3wfecdzn859e34nmb6sib5ifx393ehh > image.jpg
6 Likes

That wasn’t what I was suggesting. Not sure about you, but any windows machine I ever used suffered and glitched when updates are happening in the background until one or four forced reboots later. Anyway, you all win… I regret using CAPS.

2 Likes

Windows is okay when it works, it’s the enforced restart and updates that will interupt peoples vaults.

2 Likes

Can anyone confirm for me that the following content exists on the shared vault. I can safe cat this but don’t seem to be able to safe cat other people’s stuff…

safe cat safe://dweb/index.html

For example these fail:

safe cat safe://hbyyyynndgnwyik7t6mba3ojxti5ar6r35mbzs9ek6erby8iaqc975b9j4 > a-song.mp3
[2019-08-30T14:56:21Z ERROR safe] safe_cli error: [Error] NetDataError - Failed to GET Published ImmutableData: CoreError(No such data - CoreError::DataError -> NoSuchData)
safe cat safe://test
[2019-08-30T14:56:58Z ERROR safe] safe_cli error: [Error] ContentNotFound - Content not found at safe://test

PWeb POC Issue

Trying the POC browser (safe-browser-pweb-poc-linux-x64) on Ubuntu 18.10 I’m getting an error:

$ ~/safe-releases/2019-08-29\ Fleming\ -\ Phase\ I/safe-browser-pweb-poc-linux-x64/safe-browser 
[main 15:50:21.724] › >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
[main 15:50:21.726] › whoops! there was an uncaught error:
[main 15:50:21.726] › {"message":"Cannot open /home/bochaco/safe/bochaco-safe_browser/node_modules/safe_nodejs/native/index.node: Error: /home/bochaco/safe/bochaco-safe_browser/node_modules/safe_nodejs/native/index.node: cannot open shared object file: No such file or directory","name":"Error"}
[main 15:50:21.726] › >>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>>
3 Likes

I don’t see your public name on shared vault, you must have been storing it in your own local vault I guess, and that’s why you cannot fetch the song file or safe://test.

You need to make sure you place the vault_connection_info.config in the right place as detailed in the OP, and then have your safe_auth restarted so it connects to shared vault to login and/or create an account, then you should authorise your safe_cli so it then connects to the shared vault also.

There was an issue with packaging the browser unfortunately, we are investigating and trying to solve it ASAP, in the meanwhile you can build it from source code from this branch https://github.com/maidsafe/safe_browser/tree/NewDay, yarn and then launch it with yarn start

7 Likes