Mac M1 Installation
Summary
{Summarize the bug encountered concisely}
I confirm that I have (if relevant):
- Read the troubleshooting guide: https://gitlab.com/aliby/aliby/-/wikis/Troubleshooting-(basic)
- Updated aliby and aliby-baby.
- [NA] Tried the unit test.
- [NA] Tried a scaled-down version of my experiment (distributed=0, filter=0, tps=10)
- [NA] Tried re-postprocessing.
Steps to reproduce
- Clone
- alibylite version: 0.1.64, 1ca7ab22 * devlite origin/devlite Update file swainlab_parser.py
- platform(s):
- MacOS, please specify version: M1 Max, MacOS 14.2.1 (23C71)
- experiment ID: Na
- Any special things you need to know about this experiment: Na
What is the current bug behavior?
aliby-baby can't be installed through Nix on a MacOS M1 system. The current blocking road is ray (from aliby-baby). I will try to generate a reproducible environment that works for both Macos and Linux systems.
What is the expected correct behavior?
It should be installable without a hitch. I am attempting to use Nix for fully reproducible environments and poetry2nix to install the poetry packages without changing much.
Logs/Traceback
using nix-shell
with
shell.nix
containing:
{ pkgs ? import <nixpkgs> {} }:
let
inherit (pkgs) fetchFromGitHub callPackage;
poetry2nix-src = fetchFromGitHub {
owner = "nix-community";
repo = "poetry2nix";
rev = "3c92540";
sha256 = "sha256-2GOiFTkvs5MtVF65sC78KNVxQSmsxtk0WmV1wJ9V2ck=";
};
poetry2nix = callPackage poetry2nix-src { };
myAppEnv = poetry2nix.mkPoetryEnv {
projectDir = ./.;
python = pkgs.python39;
preferWheels = true;
};
in myAppEnv.env
Output
error:
… while calling the 'derivationStrict' builtin
at <nix/derivation-internal.nix>:9:12:
8|
9| strict = derivationStrict drvAttrs;
| ^
10|
… while evaluating derivation 'interactive-python3-3.9.19-environment'
whose name attribute is located at /nix/store/xc9ijjfhj64ii28d551qkxg4rcxqi3w1-nixpkgs/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:331:7
… while evaluating attribute 'nativeBuildInputs' of derivation 'interactive-python3-3.9.19-environment'
at /nix/store/xc9ijjfhj64ii28d551qkxg4rcxqi3w1-nixpkgs/nixpkgs/pkgs/stdenv/generic/make-derivation.nix:375:7:
374| depsBuildBuild = elemAt (elemAt dependencies 0) 0;
375| nativeBuildInputs = elemAt (elemAt dependencies 0) 1;
| ^
376| depsBuildTarget = elemAt (elemAt dependencies 0) 2;
(stack trace truncated; use '--show-trace' to show the full trace)
error: Missing suitable source/wheel file entry for ray
Possible fixes
The big questions is: Can we minimise the dependencies of aliby-baby? Ray is used for training the tracker using tune-sklearn. This would greatly simplify deployment in multiple systems. I'll try to reduce dependencies contained in aliby as much as possible. The downside will be that the current tracking model will not be reproducible in the future, so we may need to add another way to train it that does not depend on tune-sklearn.