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.

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 withTopicWhat differs
Linuxsame programSolnix 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 missingSolnix 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
NetBSDcolour options missingSolnix 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 optionOn 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
NetBSDolder releaseThe 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, OpenBSDno counterpart pageThe 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, --style or -n if 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.