Skip to content

Add macOS (Apple Silicon) support#7

Open
cpandar wants to merge 2 commits into
brandbci:mainfrom
cpandar:add-macos-support
Open

Add macOS (Apple Silicon) support#7
cpandar wants to merge 2 commits into
brandbci:mainfrom
cpandar:add-macos-support

Conversation

@cpandar

@cpandar cpandar commented Mar 14, 2026

Copy link
Copy Markdown

Adds macOS arm64 support including bootstrap_mac.sh, environment_mac.yaml, setup_mac.sh, Redis socket path fix (/tmp/redis.sock), real-time scheduling guards, and linker flag compatibility.

cpandar and others added 2 commits March 14, 2026 08:49
New files:
- bootstrap_mac.sh: Homebrew-based bootstrap replacing apt-get; detects
  Apple Silicon vs Intel for Elm binary download; no sudo required
- environment_mac.yaml: conda env with Linux-only packages removed and
  pip packages bumped to versions with arm64 wheels
- setup_mac.sh: macOS setup aliases using /tmp/redis.sock instead of
  /var/run/redis.sock (which requires root on macOS)

Makefile:
- Skip ldconfig (Linux-only) on macOS using uname conditional
- Exclude brand-nsp and cb_generator from macOS builds (Linux-only hardware)

setenv.mk:
- Add RPATH_PREFIX variable: Apple ld uses -Wl,-rpath, syntax while
  GNU ld uses -Wl,-rpath= syntax

lib/python/brand/supervisor.py:
- Skip chrt (run_priority) and taskset (cpu_affinity) on macOS; log
  warning if these parameters are set

lib/python/brand/redis.supervisor.conf:
- Change unix socket from /var/run/redis.sock to /tmp/redis.sock;
  /var/run is not writable without root on macOS

lib/python/brand/timing.py:
- Replace hardcoded ctypes.CDLL('libc.so.6') with
  ctypes.CDLL(ctypes.util.find_library('c')) for cross-platform compat

lib/redis:
- Update submodule pointer to include macOS arm64 build fixes

All changes are conditional on platform (uname or platform.system())
and do not affect Linux behaviour.

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant