deroff(1) on Solnix vs Linux and the BSDs
On Solnix, deroff is the illumos deroff at /usr/bin/deroff. Its options are -m, -w and -i only. The OpenBSD and NetBSD pages also document -k and -p, and accept more -m macro-package letters (a, e, l, m, s).
The manual pages
- Solnix: deroff(1) from
pkgs.solnix.illumos-world-man· illumos.org - OpenBSD: deroff(1) 8.0
- NetBSD: deroff(1) 11.0
What Solnix runs
A default Solnix system runs the illumos deroff at /usr/bin/deroff, published in pkgs.solnix.illumos-world-man. No other variants are shipped. The bundle contains no Linux deroff page, so nothing is claimed about Linux.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| OpenBSD, NetBSD | -m macro package letters | Solnix documents -m followed by m, s or l only. OpenBSD and NetBSD also accept a (man macros) and e (me macros). The Solnix page does not say how man or me macro files are handled.Source: Solnix deroff(1) SYNOPSIS, OPTIONS -m; OpenBSD deroff(1) -m; NetBSD deroff(1) -m |
| OpenBSD, NetBSD | -m argument optional or required | The Solnix synopsis shows the -m argument as optional: [-m [m | s | l]]. OpenBSD and NetBSD synopses write -m a | e | l | m | s with no brackets around the letter, so the argument is not shown as optional.Source: Solnix deroff(1) SYNOPSIS; OpenBSD deroff(1) SYNOPSIS; NetBSD deroff(1) SYNOPSIS |
| OpenBSD, NetBSD | -m l meaning | On Solnix, -ml forces -mm and also deletes mm lists. On OpenBSD and NetBSD, l is listed as its own argument that removes list constructs. Neither BSD page says that l implies mm.Source: Solnix deroff(1) OPTIONS -m; OpenBSD deroff(1) -m l; NetBSD deroff(1) -m l |
| OpenBSD, NetBSD | -k missing on Solnix | Solnix deroff has no -k. On OpenBSD and NetBSD, -k keeps blocks of text intact, and that is the default unless -m is given. A script using -k fails on Solnix.Source: Solnix deroff(1) SYNOPSIS; OpenBSD deroff(1) -k; NetBSD deroff(1) -k |
| OpenBSD, NetBSD | -p missing on Solnix | Solnix deroff has no -p. On OpenBSD and NetBSD, -p preserves paragraph macros and only has an effect together with -m.Source: Solnix deroff(1) SYNOPSIS; OpenBSD deroff(1) -p; NetBSD deroff(1) -p |
| OpenBSD, NetBSD | -w word definition | Solnix counts a word as at least two letters made of letters, digits, & and ', and strips trailing ' and &. OpenBSD and NetBSD define a word as letters, digits and apostrophes beginning with a letter, with apostrophes removed. Word lists can differ. Source: Solnix deroff(1) OPTIONS -w; OpenBSD deroff(1) -w; NetBSD deroff(1) -w |
| OpenBSD, NetBSD | pic pictures | OpenBSD and NetBSD state that deroff removes pic pictures. The Solnix page lists troff requests, macro calls, backslash constructs, eqn and tbl constructs, and does not mention pic. Source: Solnix deroff(1) DESCRIPTION; OpenBSD deroff(1) DESCRIPTION; NetBSD deroff(1) DESCRIPTION |
| OpenBSD, NetBSD | same -i and known limits | -i (ignore .so and .nx) and the handling of repeated includes read the same on all three. All three pages warn that deroff is not a complete troff interpreter, usually errs by printing too much, and mishandles nested lists with -ml.Source: Solnix deroff(1) -i, NOTES; OpenBSD deroff(1) -i, BUGS; NetBSD deroff(1) -i, BUGS |
Standards
- POSIX: deroff is not a POSIX.1-2024 utility.
Writing portable scripts
- Stick to deroff
-w,-iand plain-mm,-msor-mlwith input files. Avoid-kand-p, which Solnix lacks, and-maor-me, which the Solnix page does not document. - Do not compare
-wword lists across systems byte for byte: the definition of a word differs between Solnix and the BSDs.
Every difference here is taken from the manual pages linked above: Solnix's published page, Linux (man-pages and the GNU and util-linux manuals), FreeBSD, OpenBSD and NetBSD. Each row names its source. Where a manual is silent, this page is too. Compiled 2026-10-26. Found a mistake? Mail hackers@lists.solnix.io.