Fixing Podman Start issues with Krunkit on MacOS
Podman on macOS can run its Linux VM through libkrun via the krunkit binary (installed from Homebrew). When required shared libraries are missing, krunkit crashes immediately and Podman reports an unhelpful abort-trap error instead of the underlying dyld failure.
This guide documents the symptoms, troubleshooting steps, fix, and prevention for that failure mode.
Symptoms
Starting a libkrun-backed Podman machine fails:
Example output:
Related indicators:
podman machine listshows the machine in stopped state with Never under Last Uppodman versionfails with a socket/SSH connection error because the VM never started- The machine was created with VM type libkrun (default when
krunkitis installed)
Root Cause
krunkit depends on a chain of Homebrew libraries (libkrun-efi, virglrenderer, and others). If any link in that chain is missing, macOS dynamic linker (dyld) aborts the process before Podman can surface a clear error.
In this case, two libraries were not installed:
| Missing library | Required by | Symptom when running krunkit --version |
|---|---|---|
libepoxy | libkrun-efi | Library not loaded: .../libepoxy.0.dylib |
molten-vk | virglrenderer | Library not loaded: .../libMoltenVK.dylib |
Podman only reported the generic abort trap because krunkit exited before the VM could boot.
Troubleshooting
Work through these steps to isolate the failure.
1. Confirm machine state and provider
Look for VM TYPE: libkrun and State: stopped.
2. Run krunkit directly
This usually reveals the real dyld error:
If krunkit crashes with Library not loaded, note the missing .dylib path.
3. Check Homebrew dependency tree
Compare installed deps against what krunkit --version reports as missing.
4. Inspect linked libraries (optional)
Follow the chain into /opt/homebrew/Cellar/ if multiple libraries are missing.
Resolution
Install the missing libraries reported by krunkit --version, then start the machine.
For the missing libepoxy and molten-vk libraries:
Verify krunkit runs:
Start the Podman machine:
If dependencies are still broken or versions are mismatched, reinstall the krunkit stack so Homebrew relinks everything:
Verification
Confirm client–server connectivity:
Run a test container:
Expected: image pulls successfully and prints the Podman hello-world banner.
Prevention
Install krunkit from the maintained tap so Homebrew tracks dependencies:
Avoid orphaning dependencies — if you run
brew cleanupor manually remove packages, check thatkrunkit --versionstill works before starting Podman.After major macOS or Homebrew upgrades, verify the stack:
Rootless vs rootful — the default machine runs rootless. If you need ports below 1024 or hit Docker-client compatibility issues:
Environment (reference)
This issue was diagnosed on:
| Item | Value |
|---|---|
| OS | macOS 26.5.1 (arm64) |
| Podman | 5.8.2 (Homebrew) |
| krunkit | 1.1.1 |
| Machine provider | libkrun |
References
- containers/krunkit — libkrun VM launcher for macOS; Homebrew install instructions
- krunkit usage docs — VM configuration and device options