Opened 2 years ago

Last modified 2 years ago

#5264 closed defect

make install error when compiling from source while processing 'topology' subdirectory for version > 3.1.7 — at Version 1

Reported by: louisd Owned by: pramsey
Priority: medium Milestone: PostGIS 3.3.2
Component: topology Version: 3.3.x
Keywords: make install topology error Cc:

Description (last modified by louisd)

Compiling postgis on alpine/musl with postgresql 15 (also tested with 14.5) works with version 3.1.7 but other newer versions (tested with 3.2.1 and 3.3.1) fail at the make install step. Workaround found, explained below.

(./configure.sh and make were executed on both versions before the "make install" step shown here)

bash-5.1# cd /install/postgis-3.1.7/topology
bash-5.1# make install
/bin/sh /usr/local/pgsql/lib/pgxs/src/makefiles/../../config/install-sh -c -d '/usr/local/pgsql/lib'
/bin/sh /usr/local/pgsql/lib/pgxs/src/makefiles/../../config/install-sh -c -d '/usr/local/pgsql/share/contrib/postgis-3.1'
/usr/bin/install -c -m 755  postgis_topology-3.so '/usr/local/pgsql/lib/postgis_topology-3.so'
/usr/bin/install -c -m 644  topology.sql topology_upgrade.sql uninstall_topology.sql '/usr/local/pgsql/share/contrib/postgis-3.1/'


bash-5.1# cd /install/postgis-3.3.1/topology
bash-5.1# make install
/bin/sh ../config/install-sh -c -d '/usr/local/pgsql/lib'
/bin/sh: can't open '../config/install-sh': No such file or directory
make: *** [/usr/local/pgsql/lib/pgxs/src/makefiles/../../src/Makefile.shlib:471: installdirs-lib] Error 2

The difference between the two seems to be the ../config/install-sh (relative path) instead of the full path in the working version :/usr/local/pgsql/lib/pgxs/src/makefiles/../../config/install-sh)

Fix applied for now (for me) is:

ln -s /usr/local/pgsql/lib/pgxs/config /install/postgis-3.3.1

Then, execution completes correctly:

bash-5.1# ln -s /usr/local/pgsql/lib/pgxs/config /install/postgis-3.3.1
bash-5.1# make install
/bin/sh ../config/install-sh -c -d '/usr/local/pgsql/lib'
/bin/sh ../config/install-sh -c -d '/usr/local/pgsql/share/contrib/postgis-3.3'
/usr/bin/install -c -m 755  postgis_topology-3.so '/usr/local/pgsql/lib/postgis_topology-3.so'
mkdir -p /usr/local/pgsql/bin
/bin/sh ../libtool --mode=install /usr/bin/install -c loader/pgtopo_import "/usr/local/pgsql/bin/pgtopo_import"
libtool: install: /usr/bin/install -c loader/pgtopo_import /usr/local/pgsql/bin/pgtopo_import
/bin/sh ../libtool --mode=install /usr/bin/install -c loader/pgtopo_export "/usr/local/pgsql/bin/pgtopo_export"
libtool: install: /usr/bin/install -c loader/pgtopo_export /usr/local/pgsql/bin/pgtopo_export
/usr/bin/install -c -m 644  topology.sql topology_upgrade.sql uninstall_topology.sql '/usr/local/pgsql/share/contrib/postgis-3.3/'

Another workaround is to ./configure.sh --without-topology it works, but this is not an option for me since topology is needed in our database.

Also tested with the latest git clone done today.

Change History (1)

comment:1 by louisd, 2 years ago

Description: modified (diff)
Note: See TracTickets for help on using tickets.