[postgis-users] ERROR: Can't find function postgis_gist_sel in file /lib/postgis.dll

"Morin, Marc-André" Marc-Andre.Morin at drdc-rddc.gc.ca
Wed Mar 26 10:31:12 PST 2003


Thanks for your help...

My compile process:

$ make
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations  -g -I.
-I../../src/in
clude  -DFRONTEND -DSYSCONFDIR='"/etc/postgresql"' -DUSE_VERSION=73
-DUSE_STATS
 -c -o postgis_debug.o postgis_debug.c
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations  -g -I.
-I../../src/in
clude  -DFRONTEND -DSYSCONFDIR='"/etc/postgresql"' -DUSE_VERSION=73
-DUSE_STATS
 -c -o postgis_ops.o postgis_ops.c
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations  -g -I.
-I../../src/in
clude  -DFRONTEND -DSYSCONFDIR='"/etc/postgresql"' -DUSE_VERSION=73
-DUSE_STATS
 -c -o postgis_fn.o postgis_fn.c
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations  -g -I.
-I../../src/in
clude  -DFRONTEND -DSYSCONFDIR='"/etc/postgresql"' -DUSE_VERSION=73
-DUSE_STATS
 -c -o postgis_inout.o postgis_inout.c
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations  -g -I.
-I../../src/in
clude  -DFRONTEND -DSYSCONFDIR='"/etc/postgresql"' -DUSE_VERSION=73
-DUSE_STATS
 -c -o postgis_proj.o postgis_proj.c
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations  -g -I.
-I../../src/in
clude  -DFRONTEND -DSYSCONFDIR='"/etc/postgresql"' -DUSE_VERSION=73
-DUSE_STATS
 -c -o postgis_chip.o postgis_chip.c
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations  -g -I.
-I../../src/in
clude  -DFRONTEND -DSYSCONFDIR='"/etc/postgresql"' -DUSE_VERSION=73
-DUSE_STATS
 -c -o postgis_transform.o postgis_transform.c
postgis_transform.c: In function `transform_geom':
postgis_transform.c:437: warning: control reaches end of non-void function
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations  -g -I.
-I../../src/in
clude  -DFRONTEND -DSYSCONFDIR='"/etc/postgresql"' -DUSE_VERSION=73
-DUSE_STATS
 -c -o postgis_gist_72.o postgis_gist_72.c
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations  -g -I.
-I../../src/in
clude  -DFRONTEND -DSYSCONFDIR='"/etc/postgresql"' -DUSE_VERSION=73
-DUSE_STATS
 -c -o postgis_estimate.o postgis_estimate.c
dlltool --export-all --output-def postgis.def postgis_debug.o postgis_ops.o
post
gis_fn.o postgis_inout.o postgis_proj.o postgis_chip.o postgis_transform.o
postg
is_gist_72.o postgis_estimate.o
dllwrap -o postgis.dll --dllname postgis.dll --def postgis.def
postgis_debug.o p
ostgis_ops.o postgis_fn.o postgis_inout.o postgis_proj.o postgis_chip.o
postgis_
transform.o postgis_gist_72.o postgis_estimate.o ../../src/utils/dllinit.o
-L/us
r/local/lib -L/usr/local/lib ../../src/backend/libpostgres.a
dlltool --dllname postgis.dll --def postgis.def --output-lib libpostgis.a
cat postgis_sql_73_start.sql.in postgis_sql_common.sql.in
postgis_sql_73_end.sql
.in | sed -e
's:@MODULE_FILENAME@:$libdir/postgis.dll:g;s:@POSTGIS_VERSION@:0.7:
g'  > postgis.sql
perl create_undef.pl postgis.sql 73 > postgis_undef.sql
make -C loader
make[1]: Entering directory
`/cygdrive/c/postgresql/contrib/postgis-0.7.4/loader
'
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -I.
-I../../../src/int
erfaces/libpq -I../../../src/include  -DFRONTEND
-DSYSCONFDIR='"/etc/postgresql"
'  -c -o shpopen.o shpopen.c
shpopen.c: In function `SHPWriteObject':
shpopen.c:909: warning: `nRecordSize' might be used uninitialized in this
functi
on
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -I.
-I../../../src/int
erfaces/libpq -I../../../src/include  -DFRONTEND
-DSYSCONFDIR='"/etc/postgresql"
'  -c -o dbfopen.o dbfopen.c
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -I.
-I../../../src/int
erfaces/libpq -I../../../src/include  -DFRONTEND
-DSYSCONFDIR='"/etc/postgresql"
'  -c -o getopt.o getopt.c
getopt.c:115: warning: conflicting types for built-in function `strncmp'
getopt.c:602: warning: no previous prototype for `getopt'
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -I.
-I../../../src/int
erfaces/libpq -I../../../src/include  -DFRONTEND
-DSYSCONFDIR='"/etc/postgresql"
'  -c -o shp2pgsql.o shp2pgsql.c
shp2pgsql.c: In function `main':
shp2pgsql.c:453: warning: implicit declaration of function `getopt'
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations shpopen.o
dbfopen.o ge
topt.o shp2pgsql.o -L../../../src/interfaces/libpq -lpq -L/usr/local/lib
-lz -l
readline -lcygipc -lcrypt -o shp2pgsql.exe
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations -I.
-I../../../src/int
erfaces/libpq -I../../../src/include  -DFRONTEND
-DSYSCONFDIR='"/etc/postgresql"
'  -c -o pgsql2shp.o pgsql2shp.c
pgsql2shp.c: In function `main':
pgsql2shp.c:84: warning: implicit declaration of function `getopt'
gcc -O2 -Wall -Wmissing-prototypes -Wmissing-declarations shpopen.o
dbfopen.o ge
topt.o pgsql2shp.o -L../../../src/interfaces/libpq -lpq -L/usr/local/lib
-lz -l
readline -lcygipc -lcrypt -o pgsql2shp.exe
make[1]: Leaving directory
`/cygdrive/c/postgresql/contrib/postgis-0.7.4/loader'

My Makefile:

# Configuration Directives

#---------------------------------------------------------------
# Set USE_PROJ to 1 for Proj4 reprojection support
#
USE_PROJ=0
PROJ_DIR=/usr/local

#---------------------------------------------------------------
# Set USE_STATS to 1 for new GiST statistics collection support
# Note that this support requires additional columns in 
# GEOMETRY_COLUMNS, so see the list archives for info or
# install a fresh database using postgis.sql
#
USE_STATS=1

#---------------------------------------------------------------
subdir=contrib/postgis

#---------------------------------------------------------------
# Default the root of the PostgreSQL source tree 
# To use a non-standard location set the PGSQL_SRC environment
# variable to the appropriate location.
#
ifeq (${PGSQL_SRC},) 
	top_builddir = ../..
	include $(top_builddir)/src/Makefile.global
	LPATH := $$libdir
else
	top_builddir = ${PGSQL_SRC}
	include $(top_builddir)/src/Makefile.global
	LPATH := ${PWD}
endif

#---------------------------------------------------------------
# Test the version string and set the USE_VERSION macro
# appropriately.
#
ifneq ($(findstring 7.1,$(VERSION)),)
	USE_VERSION=71
else
	ifneq ($(findstring 7.2,$(VERSION)),)
		USE_VERSION=72
	else
		USE_VERSION=73
	endif
endif

#---------------------------------------------------------------
# Regression test temporary database.
#
TEST_DB=geom_regress

#---------------------------------------------------------------
# Shared library parameters.
#
NAME=postgis
SO_MAJOR_VERSION=0
SO_MINOR_VERSION=7

#---------------------------------------------------------------
# override CPPFLAGS := -I$(srcdir) $(CPPFLAGS)
# Altered for Cynwin
ifeq ($(USE_PROJ),1)
	override CPPFLAGS := -g -I$(PROJ_DIR)/include -I$(srcdir)
$(CPPFLAGS) -DFRONTEND -DSYSCONFDIR='"$(sysconfdir)"' -DUSE_PROJ
-DUSE_VERSION=$(USE_VERSION)
else
	override CPPFLAGS := -g -I$(srcdir) $(CPPFLAGS) -DFRONTEND
-DSYSCONFDIR='"$(sysconfdir)"' -DUSE_VERSION=$(USE_VERSION)
endif
override DLLLIBS := $(BE_DLLLIBS) $(DLLLIBS)

#---------------------------------------------------------------
# Add index selectivity to C flags
#
ifeq ($(USE_STATS),1)
	override CPPFLAGS += -DUSE_STATS
endif
 
#---------------------------------------------------------------
# Select proper GiST support C file
#
ifeq ($(USE_VERSION),71) 
	GIST_SUPPORT=71
	GIST_ESTIMATE=
else
	GIST_SUPPORT=72
	GIST_ESTIMATE=postgis_estimate.o
endif

OBJS=postgis_debug.o postgis_ops.o postgis_fn.o postgis_inout.o
postgis_proj.o postgis_chip.o postgis_transform.o
postgis_gist_$(GIST_SUPPORT).o $(GIST_ESTIMATE)

#---------------------------------------------------------------
# Add libraries that libpq depends (or might depend) on into the
# shared library link.  (The order in which you list them here doesn't
# matter.)
SHLIB_LINK=$(filter -L%, $(LDFLAGS)) 
ifeq ($(USE_PROJ),1)
	SHLIB_LINK=$(filter -L%, $(LDFLAGS)) -L$(PROJ_DIR)/lib -lproj
else
	SHLIB_LINK=$(filter -L%, $(LDFLAGS)) ../../src/backend/libpostgres.a
endif

#---------------------------------------------------------------
# Makefile targets

all: all-lib $(NAME).sql $(NAME).sql $(NAME)_undef.sql loaderdumper

loaderdumper:
	$(MAKE) -C loader

# Shared library stuff
include $(top_srcdir)/src/Makefile.shlib

$(NAME).sql: $(NAME)_sql_common.sql.in $(NAME)_sql_$(USE_VERSION)_end.sql.in
$(NAME)_sql_$(USE_VERSION)_start.sql.in 
	cat $(NAME)_sql_$(USE_VERSION)_start.sql.in
$(NAME)_sql_common.sql.in $(NAME)_sql_$(USE_VERSION)_end.sql.in | sed -e
's:@MODULE_FILENAME@:$(LPATH)/$(shlib):g;s:@POSTGIS_VERSION@:$(SO_MAJOR_VERS
ION).$(SO_MINOR_VERSION):g'  > $@ 

$(NAME)_undef.sql: $(NAME).sql create_undef.pl
	perl create_undef.pl $< $(USE_VERSION) > $@ 

install: all installdirs install-lib
	$(INSTALL_DATA) $(srcdir)/README.$(NAME)  $(docdir)/contrib
	$(INSTALL_DATA) $(NAME).sql $(datadir)/contrib
	$(INSTALL_DATA) $(NAME)_undef.sql $(datadir)/contrib
	$(INSTALL_DATA) spatial_ref_sys.sql $(datadir)/contrib
	$(INSTALL_DATA) README.postgis $(datadir)/contrib
	$(MAKE) -C loader install

installdirs:
	$(mkinstalldirs) $(docdir)/contrib $(datadir)/contrib $(libdir)

uninstall: uninstall-lib
	@rm -f $(docdir)/contrib/README.$(NAME)
$(datadir)/contrib/$(NAME).sql

clean distclean maintainer-clean: clean-lib
	@rm -f $(OBJS) $(NAME).sql $(NAME)_undef.sql
	$(MAKE) -C loader clean

test: all
	csh regress/regress.csh $(TEST_DB)


-----Message d'origine-----
De : Paul Ramsey [mailto:pramsey at refractions.net]
Envoyé : Wednesday, March 26, 2003 1:26 PM
À : postgis-users at postgis.refractions.net
Objet : RE: [postgis-users] ERROR: Can't find function postgis_gist_sel
in file /lib/postgis.dll


OK, more information needed. You are very close, but there is still
something 
missing from the compile, and I don't have enough info to evaluate. So, the 
output of your compile process, and your current Makefile.
Thanks,
Paul

Quoting "\"Morin, Marc-André\"" <Marc-Andre.Morin at drdc-rddc.gc.ca>:

> Sorry Paul...
> 
> That it the error that I get even if I assign a value to GIST_ESTIMATE...
> 
> ...
> ERROR:  Can't find function postgis_gist_sel in file /lib/postgis.dll
> psql:postgis.sql:142: ERROR:  Can't find function postgis_gist_sel in file
> /lib/
> postgis.dll
> ERROR:  current transaction is aborted, queries ignored until end of
> transaction
>  block
> ...
> 





_______________________________________________
postgis-users mailing list
postgis-users at postgis.refractions.net
http://postgis.refractions.net/mailman/listinfo/postgis-users




More information about the postgis-users mailing list