Penguin, small TECH.BARWICK.DE

Recent posts





Powered By


Monday, June 7, 2021   5:51 AM

ERROR: `fop' is missing on your system.

Ran into this error when trying to build the PostgreSQL documentation as a PDF file on CentOS 8:

$ make postgres-A4.pdf
/usr/bin/xmllint --path . --noout --valid postgres.sgml
/usr/bin/xsltproc --path . --stringparam pg.version '14beta1' --stringparam img.src.path './' --stringparam paper.type A4 -o stylesheet-fo.xsl postgres.sgml
Making portrait pages on A4 paper (210mmx297mm)
/bin/sh ../../../config/missing fop -fo -pdf postgres-A4.pdf
ERROR: `fop' is missing on your system.
make: *** [Makefile:178: postgres-A4.pdf] Error 1

As with many things, there doesn't appear to be a CentOS package for this (and given recent developments there might never be). However as fop is a Java-based tool, it's simple enough to install locally.

  1. Download the latest distribution from
  2. create a directory (say ~/fop/)
  3. Extract the following files/directories from the downloard .tar.gz file to ~/fop/:
    1. fop
    2. build/
    3. lib/

Then ensure ~/fop/ is included in the PATH variable when performing any tasks where it is required.

Note: for the PostgreSQL documentation build, both the top-level source ./configure and make (in the doc/ directory) need to be run again so the build system detects the location of fop.

DISCLAIMER: there is probably a more elegant way of doing this, but the above sufficed for a quick workaround in the heat of the moment.

Posted in Devel | add a comment