Add docs about cross-compiling ARM binaries (#457)

This commit is contained in:
Michalis Kargakis 2017-12-10 19:42:39 +01:00 committed by Ignotus Peverell
parent 8c718443ef
commit e13f622395

View file

@ -6,7 +6,7 @@
Note that it's still too early in development to declare 'officially supported' plaforms, but at the moment, the situation is: Note that it's still too early in development to declare 'officially supported' plaforms, but at the moment, the situation is:
* Linux - Primary platform (x86 only, at present), as most development and testing is happening here * Linux - Primary platform (x86 only, at present, but also known to work on ARMv7), as most development and testing is happening here
* Mac OS - Known to work, but may be slight hiccups * Mac OS - Known to work, but may be slight hiccups
* Windows - Known to compile, but working status unknown, and not a focus for the development team at present. Note that no mining plugins will be present on a Windows system after building Grin. * Windows - Known to compile, but working status unknown, and not a focus for the development team at present. Note that no mining plugins will be present on a Windows system after building Grin.
@ -42,6 +42,12 @@ git checkout milestone/testnet1
cargo build cargo build
``` ```
#### Cross-compiling
It should be fairly easy and cheap to build and run a validating node everywhere (wherever Rust can run). That being said, it is possible to cross-compile `grin` on a x86 Linux platform and produce ARM binaries, for example, in order to run on a Raspberry Pi. You will need to use the `milestone/testnet1` branch and uncomment the `no-plugin-build` feature as documented [below](#cuckoo-miner-considerations) to avoid compiling and running the mining plugins.
If you have any issues with native cross-compilation in your host system, you can try using Docker and [rust-on-raspberry-docker](https://github.com/kargakis/rust-on-raspberry-docker).
### Cuckoo-Miner considerations ### Cuckoo-Miner considerations
If you're having issues with building cuckoo-miner plugins (which will usually manifest as a lot of C errors when building the `grin_pow` crate, you can turn mining plugin builds off by editing the file `pow/Cargo.toml' as follows: If you're having issues with building cuckoo-miner plugins (which will usually manifest as a lot of C errors when building the `grin_pow` crate, you can turn mining plugin builds off by editing the file `pow/Cargo.toml' as follows: