[PostGIS] #6042: Getting downgrade errors on debbie for PostGIS 3.4 when newer library can't be loaded
PostGIS
trac at osgeo.org
Sun Feb 8 02:16:43 PST 2026
#6042: Getting downgrade errors on debbie for PostGIS 3.4 when newer library can't
be loaded
---------------------------+---------------------------
Reporter: robe | Owner: strk
Type: defect | Status: new
Priority: blocker | Milestone: PostGIS 3.4.5
Component: upgrade/soft | Version: 3.5.x
Resolution: | Keywords:
---------------------------+---------------------------
Old description:
> {{{
> 23:26:00 after-create-script ../regress/hooks/hook-after-create.sql ..
> ok
> 23:26:00 regress/core/regress .. ok in 111 ms
> 23:26:00 before-uninstall-script ../regress/hooks/hook-before-
> uninstall.sql .. ok
> 23:26:00 regress/uninstall .. ok (4724)
> 23:26:00
> 23:26:00 Run tests: 4
> 23:26:00 Failed: 0
> 23:26:00 Skipping upgrade test as RUNTESTFLAGS already requested upgrades
> 23:26:00 gmake: Leaving directory
> '/var/lib/jenkins/workspace/postgis/branches/3.4/regress'
> 23:26:00 SKIP: 3.4.5 -> 3.4.5 (we won't test same-version
> upgrade/downgrade here)
> 23:26:00 Testing postgis extension downgrade 3.5.1dev--3.4.5
> 23:26:00 FAIL: postgis extension downgrade 3.5.1dev--3.4.5 gave some
> other error:
> 23:26:00 Creating database 'postgis_reg'.
> 23:26:00 Preparing db 'postgis_reg' using: CREATE EXTENSION postgis
> VERSION '3.5.1dev' SCHEMA public
> 23:26:00 failed (Error encountered creating EXTENSION POSTGIS:
> /var/lib/jenkins/workspace/postgis/tmp/3_4_pg12w64/regress_log)
> 23:26:00
> -----------------------------------------------------------------------------
> 23:26:00 NOTICE: schema "public" already exists, skipping
> 23:26:00 CREATE SCHEMA
> 23:26:00 ERROR: could not load library
> "/var/lib/jenkins/workspace/pg/rel/pg12w64/lib/postgresql/postgis-3.5.so":
> /var/lib/jenkins/workspace/pg/rel/pg12w64/lib/postgresql/postgis-3.5.so:
> undefined symbol: GEOSPreparedRelatePattern
> 23:26:00
> -----------------------------------------------------------------------------
> 23:26:00 gmake: *** [runtest.mk:24: check-regress] Error 1
> 23:26:00 gmake: Leaving directory
> '/var/lib/jenkins/workspace/postgis/branches/3.4/regress'
> 23:26:00 Testing postgis extension downgrade 3.5.1dev--3.4.5 with
> standard-conforming-strings off
> 23:26:01 FAIL: postgis extension downgrade 3.5.1dev--3.4.5 with standard-
> conforming-strings off gave some other error:
> }}}
>
> I realized this is because the GEOS lib I have in 3.5.1 is newer than
> 3.4, but shouldn't it be bailing even before it tries to load the old
> library.
New description:
{{{
23:26:00 after-create-script ../regress/hooks/hook-after-create.sql .. ok
23:26:00 regress/core/regress .. ok in 111 ms
23:26:00 before-uninstall-script ../regress/hooks/hook-before-
uninstall.sql .. ok
23:26:00 regress/uninstall .. ok (4724)
23:26:00
23:26:00 Run tests: 4
23:26:00 Failed: 0
23:26:00 Skipping upgrade test as RUNTESTFLAGS already requested upgrades
23:26:00 gmake: Leaving directory
'/var/lib/jenkins/workspace/postgis/branches/3.4/regress'
23:26:00 SKIP: 3.4.5 -> 3.4.5 (we won't test same-version
upgrade/downgrade here)
23:26:00 Testing postgis extension downgrade 3.5.1dev--3.4.5
23:26:00 FAIL: postgis extension downgrade 3.5.1dev--3.4.5 gave some other
error:
23:26:00 Creating database 'postgis_reg'.
23:26:00 Preparing db 'postgis_reg' using: CREATE EXTENSION postgis
VERSION '3.5.1dev' SCHEMA public
23:26:00 failed (Error encountered creating EXTENSION POSTGIS:
/var/lib/jenkins/workspace/postgis/tmp/3_4_pg12w64/regress_log)
23:26:00
-----------------------------------------------------------------------------
23:26:00 NOTICE: schema "public" already exists, skipping
23:26:00 CREATE SCHEMA
23:26:00 ERROR: could not load library
"/var/lib/jenkins/workspace/pg/rel/pg12w64/lib/postgresql/postgis-3.5.so":
/var/lib/jenkins/workspace/pg/rel/pg12w64/lib/postgresql/postgis-3.5.so:
undefined symbol: GEOSPreparedRelatePattern
23:26:00
-----------------------------------------------------------------------------
23:26:00 gmake: *** [runtest.mk:24: check-regress] Error 1
23:26:00 gmake: Leaving directory
'/var/lib/jenkins/workspace/postgis/branches/3.4/regress'
23:26:00 Testing postgis extension downgrade 3.5.1dev--3.4.5 with
standard-conforming-strings off
23:26:01 FAIL: postgis extension downgrade 3.5.1dev--3.4.5 with standard-
conforming-strings off gave some other error:
}}}
I realized this is because the GEOS lib I have in 3.5.1 is newer than 3.4,
but shouldn't it be bailing even before it tries to load the old library.
--
Comment (by strk):
It fails loading 3.5.1 because it was built against a newer version of
GEOS which isn't found at loading time. We could make such cases a SKIP
instead of a FAIL, given the focus is on testing the target (3.4 in this
case) rather than the source of the downgrade (3.5.1 in this case). Or you
can pass --skip-tests to fine tune which tests to skip ("downgrade
3.5.1dev--3.4.5" in this specific case)
--
Ticket URL: <https://trac.osgeo.org/postgis/ticket/6042#comment:1>
PostGIS <http://trac.osgeo.org/postgis/>
The PostGIS Trac is used for bug, enhancement & task tracking, a user and developer wiki, and a view into the subversion code repository of PostGIS project.
More information about the postgis-tickets
mailing list