msgen(1) on Solnix vs Linux and the BSDs
msgen creates an English message catalog from a PO or POT file by copying each msgid into an untranslated msgstr. It is not in the Solnix base system: install pkgs.solnix.gettext. The Solnix page is GNU gettext-tools 0.22.5 and is nearly identical to Linux. The NetBSD page is older and lacks --lang, --color, --style and -n.
The manual pages
What Solnix runs
Not installed by default: add pkgs.solnix.gettext. The published Solnix page is GNU gettext-tools 0.22.5 (February 2024). The bundle shows no other variant shipped with illumos.
Differences
| Compared with | Topic | What differs |
|---|---|---|
| Linux | same program | Solnix and Linux document the same GNU msgen with the same synopsis and options. Only the release differs: gettext-tools 0.22.5 on Solnix, 1.0 on Linux. The option lists in the bundle are identical. Source: Solnix msgen(1) SYNOPSIS, OPTIONS; Linux msgen(1) SYNOPSIS, OPTIONS |
| NetBSD | --lang missing | Solnix and Linux msgen accept --lang=CATALOGNAME to set the 'Language' field in the header entry. The NetBSD page documents no --lang option.Source: Solnix msgen(1) --lang; Linux msgen(1) --lang; NetBSD msgen(1) Output details |
| NetBSD | colour options missing | Solnix and Linux msgen accept --color[=WHEN] (always, never, auto, html) and --style=STYLEFILE for a CSS style file. The NetBSD page documents neither option.Source: Solnix msgen(1) --color, --style; Linux msgen(1) --color, --style; NetBSD msgen(1) Output details |
| NetBSD | -n short option | On Solnix and Linux, -n is the short form of --add-location (preserve '#: filename:line' lines, the default). The NetBSD page lists only the long form --add-location with no short option. Scripts using -n may fail there.Source: Solnix msgen(1) -n, --add-location; Linux msgen(1) -n, --add-location; NetBSD msgen(1) --add-location |
| NetBSD | older release | The NetBSD page is from GNU gettext-tools 0.16.1 (November 2006), against 0.22.5 on Solnix. Options added since then are missing from its page. The manual does not say whether other behaviour differs. Source: NetBSD msgen(1) footer; Solnix msgen(1) footer |
| FreeBSD, OpenBSD | no counterpart page | The bundle has no FreeBSD or OpenBSD msgen page, so nothing can be stated about msgen on those systems. Source: Bundle header: counterparts are linux and netbsd only |
Standards
- POSIX: msgen is not a POSIX.1-2024 utility.
Writing portable scripts
- Do not rely on
--lang,--color,--styleor-nif the script must run with an old gettext such as the 0.16.1 NetBSD page documents; use--add-location, and set the Language header another way. - Install pkgs.solnix.gettext before calling msgen in a Solnix script, because it is not in the base system.
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.