I can almost build maidsafe rust respositories cleanly on raspberry pi 3, using this script.
The one issue is in rust_sodium. Here is a transcript.
Looks like a casting issue between *const u8 and *const c_char? I don’t know rust very well.
I can almost build maidsafe rust respositories cleanly on raspberry pi 3, using this script.
The one issue is in rust_sodium. Here is a transcript.
Looks like a casting issue between *const u8 and *const c_char? I don’t know rust very well.
Yes, the problem is that c_char
is i8
on most architectures, but u8
on ARM: rust/raw.rs at 4812cf392f1fa2258033356dd872fbee58a5406e · rust-lang/rust · GitHub
So the cast was “trivial”. This PR should fix it, by allowing trivial casts: fix/build: allow trivial_casts for ARM build by afck · Pull Request #17 · maidsafe/rust_sodium · GitHub
Please let me know whether it works with that.
I’m running the vault for test 8 on my pi 3. I just installed the ARM package and it worked straight away.
I guess building may suit another purpose besides just running the vault though? Not really an expert in these things
Works great. Thanks!
I suppose a related question is, will there be Travis CI coverage for arm? It will likely be a popular platform.
We definitely want to add that at some point, but it’s not trivial as Travis doesn’t support ARM. At the moment we’re all busy working on other issues, unfortunately.
Ok - for the time being, I’ll report ARM issues in an ad-hoc manner here.
I found one test failure for self_encryptor::tests::large_100mb_file.
running 1 test
test self_encryptor::tests::large_100mb_file … FAILED
thread 'self_encryptor::tests::large_100mb_file' panicked at 'index out of bounds: the len is 0 but the index is 0', /buildslave/rust-buildbot/slave/stable-dist-rustc-cross-host-linux/build/src/libcollections/vec.rs:1176
(backtrace in linked gist)
Once fix/self_encryptor: don't ignore create_mapping error by afck · Pull Request #195 · maidsafe/self_encryption · GitHub is merged, the failure should print a bit more information. I suspect that there wasn’t enough free RAM to create the 100 MB memory map.