Only dependencies which aren't highly likely to be featured in a ARM development environment are featured here, Obvious dependencies such as
GCC etc. aren't covered here.
Note : Use bazel 1.x.x for Ray as 2.x.x is not supported.
sudo apt-get install build-essential openjdk-8-jdk unzip export JAVA_HOME="/usr/bin/java" wget https://github.com/bazelbuild/bazel/releases/download/1.0.0/bazel-1.0.0-dist.zip unzip bazel-1.0.0-dist.zip cd bazel-1.0.0 ./compile.sh
py-spy is a python profiling library written in rust. It's easier to install it via rust's package manager on ARM.
curl --proto '=https' --tlsv1.2 -sSf https://sh.rustup.rs | sh cargo install py-spy
Download Ray from git
Download ray from git and checkout the commit without PyArrow dependency.
git clone https://github.com/ray-project/ray.git git checkout fae99ecb8e8d750bddcb3674f720f068541dc15d
Update: This patch has been added to the upstream - https://github.com/nelhage/rules_boost/pull/168. So, one could skip this step. If you face the errors discussed in this issue - https://github.com/ray-project/ray/issues/7184, then follow the patching process mentioned below.
The bazel build rules for installing boost library has assembly files which doesn't compile on ARM64 and missing some default conditions. I have prepared a patch to address it - https://gist.github.com/heavyinfo/25cf56fe0b5f8509dd0120257d008d3f
Download the patch and place it in
Add path to the patch here https://github.com/ray-project/ray/blob/fae99ecb8e8d750bddcb3674f720f068541dc15d/bazel/ray_deps_setup.bzl#L138.
cd ray/python python3 setup.py bdist_wheel
cd ray/python/dist pip install ray-0.9.0.dev0-cp36-cp36m-linux_aarch64.whl
If there are any permission related errors, run the above commands with
sudo after understanding the risks of doing so and that every installation command after that may require