Monday, June 7, 2021
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 postgres-A4.fo stylesheet-fo.xsl postgres.sgml Making portrait pages on A4 paper (210mmx297mm) /bin/sh ../../../config/missing fop -fo postgres-A4.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.
- Download the latest distribution from https://xmlgraphics.apache.org/fop/download.html
- create a directory (say
~/fop/
) - Extract the following files/directories from the downloard
.tar.gz
file to~/fop/
:fop
build/
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 at 5:51 AM |Comments (0)