Building, Installing and Configuring Qman
August 11, 2025 ยท View on GitHub
These generic instructions should work with most Linux distributions. For other operating systems, see OS_SPECIFIC.md.
Downloading
Clone the main branch, which contains Qman's latest stable version:
$ git clone -b main https://github.com/plp13/qman qman
Tagged releases with tarballs are also available, starting with version 1.2.1.
Dependencies
Qman was designed to be portable. Because of this, it was written in plain C and only has the following minimal dependencies:
Runtime dependencies:
- A Unix O/S that provides the standard
man,aproposandwhatiscommands ncursesw- For best results, use the official version by Thomas E. Dickey. Most Linux distributions provide this by default.
groff
Build dependencies:
gccorclangmeson- On some O/S you may need to manually install additional support packages for
meson, such ascmake,ninjaandpkg-config
- On some O/S you may need to manually install additional support packages for
cogapp, a code generator written in Python- If your O/S doesn't provide a package for
cogapp, you can install it usingpiporpipx
- If your O/S doesn't provide a package for
Optional dependencies:
libbsd: required by Linux systems with older versions ofglibczlib: support for manual pages compressed withgzipbzip2: support for manual pages compressed withbzip2liblzma: support for manual pages compressed withxzcunit: used for unit testing
Building and installing
Make sure that all runtime and build dependencies are installed, and do the following:
$ meson setup build/
$ cd build/
$ meson compile
$ sudo meson install
:bulb: Note
If using an older version of
meson, you may need to substitute the aforementionedmeson compilecommand withninja
:bulb: Note
Qman uses certain BSD functions such as
wcslcpy()andwcslcat()that, on certain Linux systems, are provided bylibbsdrather than bylibc. This causes compilation to fail due to undefined references to the functions.This problem can be solved by installing
libbsdand adding-Dlibbsd=enabledtomeson setup build/
:bulb: Note
If you opted not to install one or more optional dependencies, you must append the corresponding options to
meson setup build/
Build instructions might differ for certain operating systems. See OS_SPECIFIC.md.
Meson options
The following optional arguments can be passed to meson setup:
-Dman-pages=disabled: do not install the manual page-Ddocs=disabled: do not install any documentation-Dconfig=disabled: do not install any configuration files-Dgzip=disabled: disable support for manual pages compressed withgzip-Dbzip2=disabled: disable support for manual pages compressed withbzip2-Dlzma=disabled: disable support for manual pages compressed withxz-Dtests=enabled: enable unit testing-Dconfigdir=...: where to install configuration files-Ddocdir=...: where to install documentation
Configuration
Qman should work without additional configuration on most Linux distributions. However, for some operating systems and Linux distros you may need to add extra directives to Qman's config file. See OS_SPECIFIC.md.
The config file is located at ~/.config/qman/qman.conf (user-specific) or
/etc/xdg/qman/qman.conf (system-wide).
All configuration directives are documented in Qman's manual page:
$ qman qman