PostGIS Compile – Determining Which Components to Install When Compiling PostGIS from Source

compilepostgisUbuntu

I am trying to compile the latest PostGIS 3.2.1 from source. The compilation/installation below was successful on Ubuntu 20.04 LTS (resulting in a usable PostGIS):

./autogen.sh ; ./configure ; make; sudo make install

However, when compiling under the Ubuntu 22.04 beta, it's not installing any of the extensions including PostGIS itself, topology etc.

grep extension on the entire building output showed nothing. I traced the problem down to this output below with the above build commands:

...
for s in liblwgeom libpgcommon postgis regress raster topology  loader utils doc  deps; do \
        echo "---- Making all in ${s}"; \
        make -C ${s} all || exit 1; \
done;
...

In above, there should be an extension entry (based on 20.04 results with the same commands).

My question is:

How does the build process determine which components to compile and install (in this case extensions)?

Is it determined by PGXS or the output of another config program or is it something else?

(then how do I change the configuration to have the compiled extensions installed?).

— Update —

As pointed out by the accepted answer, the issue is that I didn't have the xsltproc tool needed by configure.ac in the new Ubuntu. Adding it using:

sudo apt install xsltproc

fixed the issue.

Best Answer

Sorry, this is obscure and I think if more people built from source we would have fixed it sooner (these days everyone gets their postgis pre-built by a packager it seems), but in configure.ac you'll find this line.

dnl ===========================================================================
dnl See if we have the requirements for building the extensions, namely
dnl the xlstproc tool for generating the comments SQL file.
dnl ===========================================================================