Summary
spine has compile-time scaffolding for AIX and Solaris/illumos at Tier 4
(experimental). The build configures and compiles cleanly, but no
runtime verification has been performed because no hardware or CI
runner is available. This issue tracks what would be needed to move
either platform up to Tier 3 (advisory CI) or higher.
See docs/platforms.md, Tier 4 section
for the current support matrix.
Current state
AIX (IBM Power)
- `CMakeLists.txt` sets `_ALL_SOURCE=1`, `_XOPEN_SOURCE=700`, and
`-Wl,-brtl` for runtime linking.
- `src/ping.c` falls back to `/dev/urandom` then `time^pid` for ICMP
ID generation since AIX lacks `arc4random(3)`.
- `pipe2(2)` not available; `spine_process_pipe` falls through to the
POSIX `pipe(2) + FD_CLOEXEC` path.
Solaris / illumos (OpenIndiana, OmniOS, SmartOS)
- `CMakeLists.txt` sets `_POSIX_PTHREAD_SEMANTICS=1`,
`_XOPEN_SOURCE=700`, `EXTENSIONS=1`, and links `socket` and
`nsl`.
- `src/ping.c` uses `arc4random()` on Solaris 11.4+ and recent
illumos; older Solaris falls back to `/dev/urandom`.
What's needed to reach Tier 3
For either platform:
- Hardware or hosted runner for the build matrix. AIX needs a
pSeries / Power9+ LPAR; Solaris/illumos needs SPARC or x86 with a
reachable runner image (e.g., Joyent SmartOS zone, OpenIndiana VM).
- Runtime smoke test: `./build/spine --help` plus a single poll
round against a Cacti instance to verify socket, MySQL, Net-SNMP,
and signal handling work end-to-end.
- `cross-platform-actions/action` does not currently support AIX
or Solaris, so the existing FreeBSD/NetBSD/OpenBSD CI pattern does
not extend. A self-hosted runner or sponsored cloud image is
required.
How to help
- File a comment on this issue describing your AIX or Solaris/illumos
environment if you can run periodic builds and report results.
- PRs adding compile fixes are welcome; tag them `platform:aix` or
`platform:solaris`.
- Hardware donations or cloud runner sponsorship for a community CI
lane would let us promote either platform to Tier 3.
References
- Tier definitions: docs/platforms.md
- Compile guards: CMakeLists.txt (search for `AIX` and `SunOS`)
- Source guards: src/ping.c, src/platform/platform_process_posix.c
Summary
spine has compile-time scaffolding for AIX and Solaris/illumos at Tier 4
(experimental). The build configures and compiles cleanly, but no
runtime verification has been performed because no hardware or CI
runner is available. This issue tracks what would be needed to move
either platform up to Tier 3 (advisory CI) or higher.
See docs/platforms.md, Tier 4 section
for the current support matrix.
Current state
AIX (IBM Power)
`-Wl,-brtl` for runtime linking.
ID generation since AIX lacks `arc4random(3)`.
POSIX `pipe(2) + FD_CLOEXEC` path.
Solaris / illumos (OpenIndiana, OmniOS, SmartOS)
`_XOPEN_SOURCE=700`, `EXTENSIONS=1`, and links `socket` and
`nsl`.
illumos; older Solaris falls back to `/dev/urandom`.
What's needed to reach Tier 3
For either platform:
pSeries / Power9+ LPAR; Solaris/illumos needs SPARC or x86 with a
reachable runner image (e.g., Joyent SmartOS zone, OpenIndiana VM).
round against a Cacti instance to verify socket, MySQL, Net-SNMP,
and signal handling work end-to-end.
or Solaris, so the existing FreeBSD/NetBSD/OpenBSD CI pattern does
not extend. A self-hosted runner or sponsored cloud image is
required.
How to help
environment if you can run periodic builds and report results.
`platform:solaris`.
lane would let us promote either platform to Tier 3.
References