macOS changes for Podman containers
Sent 12 Dec 2024
To all McIDAS-X users running macOS:
Starting with McIDAS-X 2024.1 and macOS 14 (Sonoma) McIDAS-X support will transition from native OS (Darwin) to a containerized Linux kernel (Rocky Linux 9).
Support for building natively on macOS has been getting progressively more difficult over the past few years for several reasons:
- Xcode does not use GNU compilers
- gfortran is not available in Xcode
- Reliance on “homebrew” for compilers and support libraries
- macOS Gatekeeper is becoming more restrictive about running non-signed binaries. Difficult to manage signing because:
- McIDAS-X is composed of many small standalone binaries that communicate via shared memory
- User-generated binaries must also be signed
MUG will continue to support macOS 13 natively in macOS using Xcode and homebrew. We will be adding the ability to run McIDAS-X in a containerized environment via Podman (https://podman.io). This concept is very similar to how McIDAS-X runs on Windows via the Ubuntu Linux kernel, and introduces some caveats:
- Each macOS user runs their own container(s)
- The host filesystem is not visible to the container by default, but specific files and directories can be explicitly shared
- Serving data to other machines via ADDE is not supported yet, but may be added in a future update
- Custom code must be integrated during initial container creation and will not be supported by the initial version of the installation script. MUG Help Desk will assist with any custom code integration on an as-needed basis.
McIDAS-X Podman containers are created and managed with new installation targets named: make-pod, install-pod, unmake-pod, and uninstall-pod. The make-pod target will walk the user through the installation of the third-party dependencies: podman, homebrew, and homebrew:socat. Root administrator access is required to install these dependencies once for all users of the machine.
These changes will be available in McIDAS-X 2024.1, available later this month. Please contact the McIDAS Help Desk if you have any questions about these changes.
Thank you,
McIDAS User Services