Question

I need to build PostgreSQL from the source code. Everything goes well unless I include man pages.

The official guide says

If you want to build everything that can be built, including the documentation (HTML and man pages), and the additional modules (contrib), type instead

gmake world

As far as I understood, gmake is make

Here are the last lines of output of make world

               A new program
      (psql) was provided for interactive
      SQL queries, which used GNU
      Readline.  This largely superseded
      the old monitor program.



               A new front-end library, libpgtcl,
      supported Tcl-based clients.  A sample shell,
      , provided new Tcl commands to
      interface make[3]: *** [HTML.index] Error 1
make[3]: Leaving directory `/home/maxim-dmitriev/PostgreSQL/doc/src/sgml'
make[2]: *** [all] Error 2
make[2]: Leaving directory `/home/maxim-dmitriev/PostgreSQL/doc/src'
make[1]: *** [all] Error 2
make[1]: Leaving directory `/home/maxim-dmitriev/PostgreSQL/doc'
make: *** [world-doc-recurse] Error 2

Update #1

When I ran gmake man, it ended up by throwing Error 127.

The first time.

{ \
      echo "<!ENTITY version \"9.4devel\">"; \
      echo "<!ENTITY majorversion \"9.4\">"; \
    } > version.sgml
'/usr/bin/perl' ./mk_feature_tables.pl YES ../../../src/backend/catalog/sql_feature_packages.txt ../../../src/backend/catalog/sql_features.txt > features-supported.sgml
'/usr/bin/perl' ./mk_feature_tables.pl NO ../../../src/backend/catalog/sql_feature_packages.txt ../../../src/backend/catalog/sql_features.txt > features-unsupported.sgml
'/usr/bin/perl' ./generate-errcodes-table.pl ../../../src/backend/utils/errcodes.txt > errcodes-table.sgml
osx -D. -x lower -i include-xslt-index postgres.sgml >postgres.xmltmp
/bin/sh: 1: osx: not found

The second and third times.

osx -D. -x lower -i include-xslt-index postgres.sgml >postgres.xmltmp
/bin/sh: 1: osx: not found
gmake: *** [postgres.xml] Error 127
Was it helpful?

Solution

See Building The Documentation :

J.3.2. Manpages

We use the DocBook XSL stylesheets to convert DocBook refentry pages to *roff output suitable for man pages. The man pages are also distributed as a tar archive, similar to the HTML version. To create the man pages, use the commands:

cd doc/src/sgml
gmake man

This is part of the global make world but starting from the subdirectory you may see what specifically fails, looking at of the whole output rather than just the end.

From the piece of output you pasted, it seems it was trying to build the general documentation, not a manpage, and it produces it on screen rather that into a file, which is weird, or it's a very long error message but the interesting part would be above.

In any case, make sure you have a properly working xsltproc in your system.

OTHER TIPS

I also had similar problems building PostgreSQL with docs. You need to make sure you have all the necessary tools installed on your system.

You can find a list of required tools here: http://www.postgresql.org/docs/9.3/static/docguide-toolsets.html

You must install next packages in Centos7 for PostgreSQL 9.6 using yum:

yum install docbook-dtds docbook-style-dsssl docbook-style-xsl libxslt openjade readline-devel bxslt-devel
Licensed under: CC-BY-SA with attribution
Not affiliated with StackOverflow
scroll top