Opened 5 years ago

Closed 5 years ago

#971 closed defect (fixed)

@GEOS_VERSION@ not being replaced

Reported by: robe Owned by: pramsey
Priority: major Milestone: 3.8.0
Component: Default Version: main
Severity: Critical Keywords:
Cc:

Description

I just noticed that debbie's postgis builds started failing recently.

Looks like the geos @GEOS_VERSION@ is not being replaced.

Might be something I need to change but was fine 5 days ago.

  WARNING: You have set the --prefix to '/var/lib/jenkins/workspace/pg/rel/pg11w64'. But we mostly    
  ignore the --prefix. For your info, using the values determined from 
  /var/lib/jenkins/workspace/pg/rel/pg11w64/bin/pg_config we will be installing:   
    * postgis shared library in /var/lib/jenkins/workspace/pg/rel/pg11w64/lib 
    * postgis SQL files in /var/lib/jenkins/workspace/pg/rel/pg11w64/share/postgresql/contrib/postgis-3.0 
    * postgis executables in /var/lib/jenkins/workspace/pg/rel/pg11w64/bin 
------------------------------------------------------------------------
checking for xml2-config... /usr/bin/xml2-config
checking libxml/tree.h usability... yes
checking libxml/tree.h presence... yes
checking for libxml/tree.h... yes
checking libxml/parser.h usability... yes
checking libxml/parser.h presence... yes
checking for libxml/parser.h... yes
checking libxml/xpath.h usability... yes
checking libxml/xpath.h presence... yes
checking for libxml/xpath.h... yes
checking libxml/xpathInternals.h usability... yes
checking libxml/xpathInternals.h presence... yes
checking for libxml/xpathInternals.h... yes
checking for xmlInitParser in -lxml2... yes
Using user-specified geos-config file: /var/lib/jenkins/workspace/geos/rel-3.8w64/bin/geos-config
checking GEOS version... @GEOS_VERSION@
configure: error: PostGIS requires GEOS >= 3.6.0
Build step 'Execute shell' marked build as failure
An attempt to send an e-mail to empty list of recipients, ignored.
Triggering a new build of PostgreSQL stop
Finished: FAILURE

Change History (6)

comment:1 by strk, 5 years ago

I'm confused, you're showing what look like being PostGIS build output, not GEOS'...

comment:2 by robe, 5 years ago

Correct strk, but it's because of GEOS that debbie's postgis builds are failing because PostGIS is expecting GEOS 3.6 or greater, and debbie is running against GEOS trunk (head) and the geos-config that got installed is all screwed up. No variables got replaced.

this is the output of geos-config that got installed:

#!/bin/sh

prefix=@CMAKE_INSTALL_PREFIX@
exec_prefix=@CMAKE_INSTALL_PREFIX@/bin
libdir=@CMAKE_INSTALL_PREFIX@/lib

usage()
{
    cat <<EOF
Usage: geos-config [OPTIONS]
Options:
     [--prefix]
     [--version]
     [--libs]
     [--clibs]
     [--cclibs]
     [--static-clibs]
     [--static-cclibs]
     [--cflags]
     [--ldflags]
     [--includes]
     [--jtsport]
EOF
    exit $1
}

if test $# -eq 0; then
  usage 1 1>&2
fi

while test $# -gt 0; do
case "$1" in
    -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
    *) optarg= ;;
esac
case $1 in
    --prefix)
      echo @CMAKE_INSTALL_PREFIX@
      ;;
    --version)
      echo @GEOS_VERSION@
      ;;
    --cflags)
      echo -I@CMAKE_INSTALL_PREFIX@/include
      ;;
    --libs)
      echo -L@CMAKE_INSTALL_PREFIX@/lib -lgeos-@GEOS_VERSION_MAJOR@
      ;;
    --clibs)
      echo -L@CMAKE_INSTALL_PREFIX@/lib -lgeos_c
      ;;
    --cclibs)
      echo -L@CMAKE_INSTALL_PREFIX@/lib -lgeos
      ;;
    --static-clibs)
      echo -L@CMAKE_INSTALL_PREFIX@/lib -lgeos_c -lgeos -lm
      ;;
    --static-cclibs)
      echo -L@CMAKE_INSTALL_PREFIX@/lib -lgeos -lm
      ;;
    --ldflags)
      echo -L@CMAKE_INSTALL_PREFIX@/lib -lgeos
      ;;
    --includes)
      echo @CMAKE_INSTALL_PREFIX@/include
      ;;
    --jtsport)
    echo 1.13.0
      ;;
    *)
      usage 1 1>&2
      ;;
  esac
  shift
done

comment:3 by robe, 5 years ago

I should add that the geos 3.7 geos-config last installed 5/2 looks like this, see the difference?

#!/bin/sh
prefix=/var/lib/jenkins/workspace/geos/rel-3.7w64
exec_prefix=${prefix}
libdir=${exec_prefix}/lib

usage()
{
    cat <<EOF
Usage: geos-config [OPTIONS]
Options:
     [--prefix]
     [--version]
     [--libs]
     [--clibs]
     [--cclibs]
     [--static-clibs]
     [--static-cclibs]
     [--cflags]
     [--ldflags]
     [--includes]
     [--jtsport]
EOF
    exit $1
}
if test $# -eq 0; then
  usage 1 1>&2
fi
while test $# -gt 0; do
case "$1" in
    -*=*) optarg=`echo "$1" | sed 's/[-_a-zA-Z0-9]*=//'` ;;
    *) optarg= ;;
esac
case $1 in
    --prefix)
    echo ${prefix}
     ;;
    --version)
    echo 3.7.3dev
     ;;
    --cflags)
    echo -I${prefix}/include
      ;;
    --libs)
      # TODO: make an alias for --clibs
      # see http://trac.osgeo.org/geos/ticket/497
      echo -L${libdir} -lgeos-3.7.3
      ;;
    --clibs)
      echo -L${libdir} -lgeos_c
      ;;
    --cclibs)
      echo -L${libdir} -lgeos
      ;;
    --static-clibs)
      echo -L${libdir} -lgeos_c -lgeos -lm
      ;;
    --static-cclibs)
      echo -L${libdir} -lgeos -lm
      ;;
    --ldflags)
      echo -L${libdir}
      ;;
    --includes)
      echo ${prefix}/include
      ;;
    --jtsport)
    echo 1.13.0
      ;;
    *)
      usage 1 1>&2
      ;;
  esac
  shift
done

comment:4 by robe, 5 years ago

Owner: changed from geos-devel@… to pramsey

comment:5 by Paul Ramsey <pramsey@…>, 5 years ago

In 5694dec/git:

First step to fixing geos-config, generate from separate
input files (cmake and in) to avoid crosstalk
References #971

comment:6 by pramsey, 5 years ago

Resolution: fixed
Status: newclosed

OK, after testing last commit in both cmake and autotools, the geos-config scripts seems to be (a) installed (b) executable and (c) returning the right values when run.

Note: See TracTickets for help on using tickets.