msgconv(1) on Solnix vs Linux and the BSDs

msgconv is the GNU gettext tool that converts a PO message catalog to another character encoding. It is not in the base Solnix system: install pkgs.solnix.gettext. It is the same program as on Linux (GNU gettext); the NetBSD page is an older gettext release that lacks --color, --style and the -n short option.

What Solnix runs

Not installed by default: add pkgs.solnix.gettext. The published page is GNU gettext-tools 0.22.5 (February 2024). The bundle shows no illumos msgconv.

Differences

Compared withTopicWhat differs
Linuxsame programSolnix and Linux both document GNU gettext msgconv with the same synopsis and the same options. The Solnix page is from gettext-tools 0.22.5 and the Linux page from gettext-tools 1.0. The option lists match.
Source: Solnix msgconv(1) SYNOPSIS, OPTIONS; Linux msgconv(1) SYNOPSIS, OPTIONS
NetBSD--color and --style missingSolnix msgconv has --color[=WHEN] (always, never, auto, html) and --style=STYLEFILE for CSS rules. The NetBSD page (gettext-tools 0.16.1) lists neither option, so a script that passes them fails there unless a newer gettext is installed.
Source: Solnix msgconv(1) Output details (--color, --style); NetBSD msgconv(1) Output details
NetBSD-n short optionOn Solnix, -n is the short form of --add-location. The NetBSD page lists only the long form --add-location, with no -n.
Source: Solnix msgconv(1) -n, --add-location; NetBSD msgconv(1) --add-location
NetBSDgettext versionThe NetBSD page is gettext-tools 0.16.1 (November 2006). The Solnix page is 0.22.5 (February 2024). Any behaviour added between those releases is not covered by the NetBSD text.
Source: Solnix msgconv(1) footer; NetBSD msgconv(1) footer
FreeBSD, OpenBSDno counterpart pageThe bundle has no FreeBSD or OpenBSD msgconv page, so the manual cannot say whether those systems ship it. Treat it as an add-on from a gettext package.
Source: Bundle header lists only Linux and NetBSD counterparts
Linux, NetBSDdefault output encodingOn Solnix, Linux and NetBSD, without -t/--to-code the output encoding is the current locale's encoding. A script run under a different locale can produce different output, so pass -t explicitly.
Source: Solnix msgconv(1) Conversion target (-t); Linux msgconv(1) -t; NetBSD msgconv(1) -t

Standards

  • POSIX: msgconv is not a POSIX.1-2024 utility.

Writing portable scripts

  • Always pass -t NAME explicitly, since the default is the current locale's encoding.
  • Avoid --color, --style and -n if the script must run with the older gettext 0.16.1 documented for NetBSD; use --add-location, which that page lists.

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.