Opened 2 years ago

Last modified 16 months ago

#5177 closed enhancement

Can't build commandline tools only and --without-pgconfig seems broken — at Version 3

Reported by: robe Owned by: pramsey
Priority: medium Milestone: PostGIS 3.4.0
Component: postgis Version: master
Keywords: Cc:

Description (last modified by robe)

I thought we had solved this problem already, but it seems not.

I tried building the command-line tools on a CentOS, thinking I could do it with.

export PKG_CONFIG_PATH="/projects/rel/lib/pkgconfig"
export PATH="/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/projects/rel/lib:/projects/rel/bin:/projects/rel/include"

./configure --prefix=/projects/rel \
  --with-geosconfig=/projects/rel/bin/geos-config \
  --without-pgconfig --without-protobuf \
  --with-libiconv=/projects/rel

What happens with the above, even though I have GDAL installed in /projects/rel

I still get error:

configure: WARNING: gdal.h: present but cannot be compiled
configure: WARNING: gdal.h:     check for missing prerequisite headers?
configure: WARNING: gdal.h: see the Autoconf documentation
configure: WARNING: gdal.h:     section "Present But Cannot Be Compiled"
configure: WARNING: gdal.h: proceeding with the compiler's result
checking for gdal.h... no
configure: error: could not find GDAL headers

If I do

configure: WARNING: gdal.h: present but cannot be compiled
configure: WARNING: gdal.h:     check for missing prerequisite headers?
configure: WARNING: gdal.h: see the Autoconf documentation
configure: WARNING: gdal.h:     section "Present But Cannot Be Compiled"
configure: WARNING: gdal.h: proceeding with the compiler's result
checking for gdal.h... no
configure: error: could not find GDAL headers

If I do,

export PKG_CONFIG_PATH="/projects/rel/lib/pkgconfig"
export PATH="/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/projects/rel/lib:/projects/rel/bin:/projects/rel/include"

./configure --prefix=/projects/rel \
  --with-geosconfig=/projects/rel/bin/geos-config \
  --without-pgconfig --without-protobuf \
  --with-libiconv=/projects/rel \
  --without-raster

Then configure succeeds, and even make completes with:

/usr/bin/ar: creating .libs/liblwgeom.a
libtool: link: gcc-ranlib .libs/liblwgeom.a
libtool: link: rm -fr .libs/liblwgeom.lax
libtool: link: ( cd ".libs" && rm -f "liblwgeom.la" && ln -s "../liblwgeom.la" "liblwgeom.la" )

but make install just outputs

 make install
for s in liblwgeom; do \
        echo "---- Making install in ${s}"; \
        make -C ${s} install || exit 1; \
done;

I would have assumed the shp2pgsql would get installed in the —prefix folder, (pgsql2shp would get installed only if I have libpq dev), but no nothing. Even building with below the —prefix is ignored and all by commandline tools end up in /projects/rel/pg14/bin

export PKG_CONFIG_PATH="/projects/rel/lib/pkgconfig"
export PATH="/usr/local/bin:/usr/sbin:/usr/bin:/sbin:/bin:/projects/rel/lib:/projects/rel/bin:/projects/rel/include"
export PGPATH=/projects/rel/pg14

./configure --prefix=/projects/rel --without-protobuf --with-pgconfig=${PGPATH}/bin/pg_config \
  --with-geosconfig=/projects/rel/bin/geos-config \
  --with-libiconv=/projects/rel

make && make install

What I am expecting, is that since shp2pgsql and raster2pgsql do not have ANY dependency on PostgreSQL or libpq for that matter, I should be able to get those built with below and they should be installed in —prefix=/projects/rel/bin

./configure --prefix=/projects/rel --without-protobuf \
  --with-geosconfig=/projects/rel/bin/geos-config \
  --without-pgconfig --without-protobuf \
  --with-libiconv=/projects/rel \
  --without-raster

make && make install

I thought this used to work, but perhaps was broken after our numerous changes to liblwgeom config

I'm going to try older versions to see

Change History (3)

comment:1 by robe, 2 years ago

Summary: Can't build commandline tools only and =-without-pgconfig seems brokenCan't build commandline tools only and --without-pgconfig seems broken

comment:2 by robe, 2 years ago

Description: modified (diff)

comment:3 by robe, 2 years ago

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