Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 5 May 2014 22:20:37 GMT
From:      david <dking@ketralnis.com>
To:        freebsd-gnats-submit@FreeBSD.org
Subject:   ports/189384: databases/postgis21 doesn't compile, and doesn't function when compiled without RASTER
Message-ID:  <201405052220.s45MKbGp081119@cgiserv.freebsd.org>
Resent-Message-ID: <201405052230.s45MU0YQ014155@freefall.freebsd.org>

next in thread | raw e-mail | index | archive | help

>Number:         189384
>Category:       ports
>Synopsis:       databases/postgis21 doesn't compile, and doesn't function when compiled without RASTER
>Confidential:   no
>Severity:       non-critical
>Priority:       low
>Responsible:    freebsd-ports-bugs
>State:          open
>Quarter:        
>Keywords:       
>Date-Required:
>Class:          sw-bug
>Submitter-Id:   current-users
>Arrival-Date:   Mon May 05 22:30:00 UTC 2014
>Closed-Date:
>Last-Modified:
>Originator:     david
>Release:        10.0-RELEASE
>Organization:
>Environment:
FreeBSD hm-fbsd.local 10.0-RELEASE FreeBSD 10.0-RELEASE #0 r260789: Thu Jan 16 22:34:59 UTC 2014     root@snap.freebsd.org:/usr/obj/usr/src/sys/GENERIC  amd64

>Description:
databases/postgis21 doesn't compile without the patch in PR-186563 (which works but hasn't been committed). But even after fixing that, postgis still doesn't work:

# sudo -u pgsql psql -d "my_db" -c "create extension postgis"
ERROR:  could not open extension control file "/usr/local/share/postgresql/extension/postgis.control": No such file or directory

And indeed, that file doesn't exist:

# find /usr/local -name postgis.control | wc -l
       0

Why? Because the pkg-plist for postgis21 lists half of its fundamental requirements as required by the RASTER option. An except of files that require RASTER that actually are required by *any* install of postgis:

%%RASTER%%share/postgresql/extension/postgis--2.1.0rc1--%%PORTVERSION%%.sql
%%RASTER%%share/postgresql/extension/postgis--2.1.0rc2--%%PORTVERSION%%.sql
%%RASTER%%share/postgresql/extension/postgis--2.1.0rc3--%%PORTVERSION%%.sql
%%RASTER%%share/postgresql/extension/postgis--unpackaged--%%PORTVERSION%%.sql
%%RASTER%%share/postgresql/extension/postgis.control

In the Makefile, %%RASTER%% is changed to comment out the plist line when RASTER isn't built:

.if ${PORT_OPTIONS:MRASTER}
.if ${OSVERSION} < 900033
BROKEN=                 Raster suppport is broken on FreeBSD < 9.x
.endif
LIB_DEPENDS+=           libgdal.so:${PORTSDIR}/graphics/gdal
CONFIGURE_ARGS+=        --with-raster --with-gdalconfig=${LOCALBASE}/bin/gdal-config
PLIST_SUB+=             RASTER=""
.else
CONFIGURE_ARGS+=        --without-raster
PLIST_SUB+=             RASTER="@comment "
.endif

RASTER is a very large requirement that pulls in gdal which pulls in image processing dependencies (which as you can imagine usually means pulling in X11). It's not a requirement of postgis in general
>How-To-Repeat:
Install databases/postgis21 (this may mean applying the long-outstanding patch from PR-186563 to resolve the compile error on iconv). Then try to use it with a command like:

# sudo -u pgsql psql -d "my_db" -c "create extension postgis;"

>Fix:
I imagine that the fix is to go through pkg-plist and remove %%RASTER%% where it doesn't make sense. I don't know postgis well enough to tell these apart myself

>Release-Note:
>Audit-Trail:
>Unformatted:



Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201405052220.s45MKbGp081119>