mirror of
https://github.com/ZoneMinder/zoneminder.git
synced 2026-09-30 22:45:10 -04:00
ZoneMinder now builds and installs on macOS, but the steps that make it work existed nowhere. The installation guide has pages for Debian, Ubuntu, Redhat and WSL, and nothing for macOS. Covers the parts that are not guessable, each one walked through on a real machine rather than reasoned about: - Sys::Mmap, Date::Manip and a DBD driver are missing from the Perl Apple ships, and configure only warns, so it is easy to get a clean build and a system whose Perl daemons cannot read monitor state at all. A Homebrew Perl additionally needs DBI and LWP::UserAgent, since it has none of the extras Apple bundles. - DBD::MariaDB does not install without help. mysql_config hands its configure step -lzstd -lssl -lcrypto, but a Homebrew Perl's ldflags carry no -L for the Homebrew prefix, so it fails with "Can't link/include C library 'zstd', 'ssl', 'crypto', aborting". The guide gives the --libs and --cflags that get it through. - ZoneMinder's Perl modules land in vendorlib and survive Perl upgrades; the CPAN modules land in sitelib, which resolves into the Cellar and does not. Worth knowing before an upgrade quietly breaks the daemons. - ZM_NO_MMAP is not a way around Sys::Mmap. macOS caps SysV shared memory at 4 MiB per segment across 8 segments, and a 1080p RGB frame does not fit in one. - mysql-client is keg-only, so the build needs an explicit -I or it stops at "'mysql/mysql.h' file not found". - Nothing creates the runtime directories. On Linux the package does it. - The test binary has to run from build/tests, because zm_font.cpp loads its fixtures by relative path. - zmpkg.pl falls back to zmdc.pl without systemd, so there is a way to start ZoneMinder before a launchd plist exists. Honest about what is missing rather than papering over it: no plist, no Homebrew formula, no log rotation, no local cameras, and the arp-scan and ip warnings configure emits. Also separates Homebrew's prefix from ZoneMinder's install prefix, which differ on Apple Silicon and are easy to conflate. Co-Authored-By: Claude Opus 5 (1M context) <noreply@anthropic.com> Claude-Session: https://claude.ai/code/session_01B5KL9Xbi7K5aGsauLtd8tG
19 lines
266 B
ReStructuredText
19 lines
266 B
ReStructuredText
Installation Guide
|
|
======================================
|
|
|
|
.. todo:: This entire guide needs to be checked/updated as needed
|
|
|
|
Contents:
|
|
|
|
.. toctree::
|
|
:maxdepth: 2
|
|
|
|
packpack
|
|
ubuntu
|
|
debian
|
|
redhat
|
|
macos
|
|
windows_wsl
|
|
multiserver
|
|
dedicateddrive
|