UNIX manpage compiler — base system, ports and packages
Availability of the mandoc toolset
When looking for mandoc on your system,
be aware that many downstream distributions
still use the historical name
mdocml for mandoc.
Additional information about mandoc
packaging may be available from
mandoc in the base system
The following operating systems come with bundled
mandoc utilities as part of the base system.
On these systems, no installation of mandoc
is required, you can use it out of the box.
All of these projects have helped to make
by providing feedback and advice, bug reports, and patches.
mandoc is the default manual formatter and viewer
The following operating systems by default use the
mandoc implementation of
(default formatter since April 3, 2010;
default viewer since December 14, 2014)
(1.14.3 sources under active development and build system)
Maintainer: Ingo Schwarze (schwarze@)
- Alpine Linux
(testing aport July 6, 2010; main aport June 12, 2011;
man(1), apropos(1), makewhatis(8) enabled since December 29, 2014)
Maintainers: Natanael Copa (ncopa@) and Daniel Sabogal
- Void Linux
(default formatter since September 23, 2014;
default viewer since March 14, 2015;
a man-db package is also available)
(1.14.3 base system package)
Maintainer: Leah Neukirchen
mandoc is the default manual formatter
The following operating systems by default use the bundled
mandoc utility to format manual pages
for display, but use different implementations of man(1)
(default since Nov 23, 2014; mandoc
apropos(1) supported as an option)
Maintainer: Baptiste Daroussin (bapt@)
(default since February 7, 2012)
(1.14.1 sources and build system)
Maintainer: Christos Zoulas (christos@),
formerly Joerg Sonnenberger (joerg@)
(default since July 21, 2014)
- src/cmd/mandoc (1.14.3 sources and build system)
Maintainers: Yuri Pankov and Garrett D'Amore
mandoc is not the default manual formatter
The following operating systems install
mandoc by default,
but do not use it as the default manual formatter.
Both systems are very seriously outdated,
with no update for about three years.
- DragonFly BSD
(in base since October 29, 2009)
- contrib/mdocml (1.13.1 sources)
usr.bin/mandoc (build system)
Maintainers: Sascha Wildner and Franco Fichtner
Last tested version: 1.14.1 still works on DragonFlyBSD 4.7.0
(tested by Sevan Janiyan), so updating the port is a simple
task, but it wasn't done yet.
- Minix 3
(in base since June 26, 2010)
(1.12.3 sources and build system)
mandoc via ports and packages
The following operating systems provide
ports and packages of mandoc.
To use mandoc, you do not need to build and install it manually.
The easiest way probably is to install a precompiled package.
In case that isn't available, you can build the package yourself,
using the ports framework or an equivalent mechanism.
Please refer to your operation system documentation for instructions
how to install packages and/or how to use the ports system.
Official ports and packages
The following operating systems provide official ports or packages,
that is, the files required to build the port or package are
stored in an official repository maintained by the respective
operating system project.
- FreeBSD (since March 25, 2009, useful for version 9 and older)
Maintainer: Ulrich Spoerlein (uqs@)
(since July 3, 2016)
- sid (unstable) package (1.14.3) —
version history —
buster (testing) package (1.14.3) —
stretch (stable) package (1.13.3) —
jessie-backports (oldstable) package (1.13.3)
Maintainers: Michael Stapelberg (stapelberg@) and
Bdale Garbee (bdale@)
(since July 7, 2016)
- mdocml —
Bionic Beaver (development) (1.14.3) —
Artful Aardvark (stable) (1.14.3)
- Arch Linux
(since October 3, 2010)
(since September 15, 2016)
(since January 28, 2017)
Maintainer: Mike Frysinger (vapier@)
Unofficial ports and packages
For the following operating systems, files to build a port or
package are available from third parties, not from the maintainers
of the operating system itself. In the past, these maintainers
did a very decent job, so it should not be a problem that these ports
- Slackware Linux
(since January 7, 2014)
(1.14.1 SlackBuild script provided by
Maintainer: Daniel Levai
- Crux Linux
(since June 10, 2014)
(1.14.3 port provided by
- MacOS X
(since January 13, 2015)
- mandoc (1.14.3 formula provided by
mandoc (1.14.3 port provided by
The ports for the following operating systems are seriously outdated.
Updating them is a pretty simple task.
Consider doing that; if you don't want to, using pkgsrc (see below)
or compiling from source as explained in the INSTALL file
is your second best bet.
- IBM AIX
(since February 4, 2011)
(1.12.0 package provided by
Last tested version: 1.13.4 still works on AIX 7.1 (tested by
Sevan Janiyan), so updating the package is a simple task, but
it wasn't done yet.
Updating the packages for Microsoft Windows is more difficult
because newer mandoc requires the
function, which is reasonable given that mmap(2) is a POSIX
function. Consequently, anybody trying to port mandoc to
Windows will have to implement mmap(2) for Windows first.
I don't know whether simple code snippets like this one will or will not work.
(since December 5, 2012)
(since October 11, 2014)
(1.13.1 port and pre-built binaries for Microsoft Windows provided by
mandoc via pkgsrc
On many other operating systems, for example other Linux distributions,
AIX, HP-UX, IRIX, and Solaris, you can use the
portable package build system, see the list of
- pkgsrc (since March 1, 2009)
Maintainer: Thomas Klausner (wiz@)
Other tested platforms
Building mandoc directly from the
distribution tarball as described in the
file and running it has been tested on the following platforms,
but a port or package is not yet available and there is no
maintainer for these platforms:
- IBM AIX
7.1 (last tested: version 1.13.4 by Sevan Janiyan)
- Oracle Solaris
Sun OS 5.11.2 (last tested: version 1.14.3
on sun4u sparc by Ingo Schwarze on OpenCSW)
- Sun OS 5.10 (last tested: version 1.14.3
on sun4v sparc by Ingo Schwarze on OpenCSW)
- Sun OS 5.9 (last tested: version 1.14.3
on sun4u sparc by Ingo Schwarze on OpenCSW)
Add or improve mandoc support
If you are interested in building or maintaining another port
or consider integrating mandoc
into the base system of another operating system, please
us, such that we can provide help
and keep you updated regarding new releases.
Some time ago, Jesse Adams built Linux packages for several
distributions on his
Open Build Service
account and tried to get his package into
but then abandoned the project before getting anywhere.
It would be useful if someone could pick that work up.