Difference between revisions of "Platform Notes (Mac OS X)"
(Add FreeM Lite reference) |
|||
Line 1: | Line 1: | ||
== Port Status == | == Port Status == | ||
− | The Mac OS X port is a [[Tier | + | The Mac OS X port is a [[Tier 2 Port]]. |
− | + | The main branch will compile on macOS Monterey (12.6.8) on Intel, and it can run if the <code>kern.sysv.shmmax</code> parameter is correct (see below). | |
− | The main branch will compile on macOS Monterey (12.6.8) on Intel, and it can run if the <code>kern.sysv.shmmax</code> parameter is correct (see below) | ||
− | |||
− | |||
== Verified Releases == | == Verified Releases == | ||
* [[FreeM Lite]] | * [[FreeM Lite]] | ||
+ | * FreeM 0.65.1-rc0 | ||
== Build Notes == | == Build Notes == | ||
Line 32: | Line 30: | ||
* MacBook Air (Early 2015) running macOS Monterey (12.6.8) | * MacBook Air (Early 2015) running macOS Monterey (12.6.8) | ||
+ | * M1 Mac Mini running macOS Sequoia | ||
== Required Kernel Tuning == | == Required Kernel Tuning == | ||
− | You will need to set the <code>kern.sysv.shmmax</code> sysctl parameter to at least | + | You will need to set the <code>kern.sysv.shmmax</code> sysctl parameter to at least 17002496 (the value must be a multiple of the system page size; generally 4096). |
To determine the current setting, see below: | To determine the current setting, see below: | ||
Line 48: | Line 47: | ||
See your macOS version below for instructions on modifying this value. | See your macOS version below for instructions on modifying this value. | ||
− | === | + | === All Versions === |
* Find the file <code>com.startup.sysctl.plist</code> file in the <code>scripts</code> subdirectory of the FreeM distribution | * Find the file <code>com.startup.sysctl.plist</code> file in the <code>scripts</code> subdirectory of the FreeM distribution | ||
Line 74: | Line 73: | ||
[[Category:Platform Notes]] | [[Category:Platform Notes]] | ||
− | [[Category:Tier | + | [[Category:Tier 2 Ports]] |
Revision as of 07:01, 16 May 2025
Contents
Port Status
The Mac OS X port is a Tier 2 Port.
The main branch will compile on macOS Monterey (12.6.8) on Intel, and it can run if the kern.sysv.shmmax
parameter is correct (see below).
Verified Releases
- FreeM Lite
- FreeM 0.65.1-rc0
Build Notes
In order to build FreeM on macOS, you will need to install the following:
- Apple XCode command-line tools
- Homebrew
Then, install the following with the brew package manager:
- automake
- autoconf
- gcc
- libtool
- texinfo
- texi2html
- git
Testing Details
We build the macOS port on the following hardware:
- MacBook Air (Early 2015) running macOS Monterey (12.6.8)
- M1 Mac Mini running macOS Sequoia
Required Kernel Tuning
You will need to set the kern.sysv.shmmax
sysctl parameter to at least 17002496 (the value must be a multiple of the system page size; generally 4096).
To determine the current setting, see below:
$ sudo sysctl -a | grep shmmax kern.sysv.shmmax: 4194304
In the above example, the shmmax
value is 4194304
, and thus insufficient for proper FreeM operation.
See your macOS version below for instructions on modifying this value.
All Versions
- Find the file
com.startup.sysctl.plist
file in thescripts
subdirectory of the FreeM distribution - Copy it to
/Library/LaunchDaemons
- Change the ownership of
/Library/LaunchDaemons/com.startup.sysctl.plist
toroot:wheel
- Run
sudo launchctl load /Library/LaunchDaemons/com.startup.sysctl.plist
- Reboot
See the following example:
$ sudo cp scripts/com.startup.sysctl.plist /Library/LaunchDaemons/ $ sudo chown root:wheel /Library/LaunchDaemons/com.startup.sysctl.plist $ sudo launchctl load /Library/LaunchDaemons/com.startup.sysctl.plist
Starting the FreeM Daemon Automatically
Coming soon.
Port Challenges
Apple makes it extremely difficult to build traditional UNIX software, in the name of "security". Also, Apple silicon (M1 and descendants) cannot likely be supported with the current shared memory architecture.
We will most likely support only PowerPC and Intel Macs.