[postgis-users] PostGIS 1.4.0 make problems on Solaris 10

Andrew Smith laconical at gmail.com
Wed Sep 23 23:43:25 PDT 2009


Hi all,

Let me preface this email by stating that while I have a basic working
knowledge of Solaris, I had never tried compiling an application on
that platform before today.  My knowledge of makefiles and the make
process is essentially zero.  That being said, here is my problem.
I've been asked to install PostGIS onto a Solaris 10 machine. In order
to do that, I first installed PostgreSQL 8.4.1, then PROJ.4 (4.6.1),
then GEOS (3.1.1). All of those were quite easy and gave me no trouble
whatsoever.

Next, I tried to install PostGIS.  According to the documentation on
the PostGIS website, this should be as straightfoward as:

./configure
make
make install

Whilst the configure works, the make fails dismally. In a nutshell,
here's the problem:

<snip>
gmake -C postgis
gmake[1]: Entering directory `/tmp/postgis-1.4.0/postgis'
/net/grok/ontools/onnv-tools/SUNWspro/SS11/bin/cc -Xa -E
-traditional-cpp postgis.sql.in.c | grep -v '^#' > postgis.sql.in
/bin/sh: /net/grok/ontools/onnv-tools/SUNWspro/SS11/bin/cc: not found

>From what I have been able to understand, there are a couple of
.sql.in files that need to go through the C pre-processor during the
make process.  The makefile has this to say:

# Generate any .sql.in files from .sql.in.c files by running them
through the C pre-processor
$(SQL_OBJS): %.in: %.in.c
        $(CPP) -traditional-cpp $< | grep -v '^#' > $@

Somehow, $(CPP) is being set to
/net/grok/ontools/onnv-tools/SUNWspro/SS11/bin/cc, which doesn't exist
on my system.  In fact, I haven't been able to find anything about
this mysterious cc process at all.  So, my main question is:  How does
$(CPP) get set?  Is there supposed to be a $CPP environment variable
defined in the shell before I run the gmake command?  I'm assuming
it's an environmental problem rather than an issue with the source but
have no idea how to proceed.  Any suggestions?

I've included the full output from configure and gmake below.

Cheers,

Andrew


root at server4 # su postgres
root at server4 # gunzip < postgis-1.4.0.tar.gz | tar xpf -
root at server4 # cd postgis-1.4.0
root at server4 # export LD_LIBRARY_PATH=/usr/local/lib
root at server4 #./configure
checking build system type... sparc-sun-solaris2.10
checking host system type... sparc-sun-solaris2.10
checking for gcc... gcc
checking for C compiler default output file name... a.out
checking whether the C compiler works... yes
checking whether we are cross compiling... no
checking for suffix of executables...
checking for suffix of object files... o
checking whether we are using the GNU C compiler... yes
checking whether gcc accepts -g... yes
checking for gcc option to accept ISO C89... none needed
checking for a sed that does not truncate output... /usr/bin/sed
checking for grep that handles long lines and -e... /usr/sfw/bin/ggrep
checking for egrep... /usr/sfw/bin/ggrep -E
checking for fgrep... /usr/sfw/bin/ggrep -F
checking for ld used by gcc... /usr/ccs/bin/ld
checking if the linker (/usr/ccs/bin/ld) is GNU ld... no
checking for BSD- or MS-compatible name lister (nm)... /usr/ccs/bin/nm -p
checking the name lister (/usr/ccs/bin/nm -p) interface... BSD nm
checking whether ln -s works... yes
checking the maximum length of command line arguments... 786240
checking whether the shell understands some XSI constructs... yes
checking whether the shell understands "+="... no
checking for /usr/ccs/bin/ld option to reload object files... -r
checking for objdump... no
checking how to recognize dependent libraries... pass_all
checking for ar... ar
checking for strip... strip
checking for ranlib... ranlib
checking command to parse /usr/ccs/bin/nm -p output from gcc object... ok
checking how to run the C preprocessor... gcc -E
checking for ANSI C header files... yes
checking for sys/types.h... yes
checking for sys/stat.h... yes
checking for stdlib.h... yes
checking for string.h... yes
checking for memory.h... yes
checking for strings.h... yes
checking for inttypes.h... yes
checking for stdint.h... yes
checking for unistd.h... yes
checking for dlfcn.h... yes
checking for objdir... .libs
checking if gcc supports -fno-rtti -fno-exceptions... no
checking for gcc option to produce PIC... -fPIC -DPIC
checking if gcc PIC flag -fPIC -DPIC works... yes
checking if gcc static flag -static works... no
checking if gcc supports -c -o file.o... yes
checking if gcc supports -c -o file.o... (cached) yes
checking whether the gcc linker (/usr/ccs/bin/ld) supports shared
libraries... yes
checking whether -lc should be explicitly linked in... yes
checking dynamic linker characteristics... solaris2.10 ld.so
checking how to hardcode library paths into programs... immediate
checking whether stripping libraries is possible... no
checking if libtool supports shared libraries... yes
checking whether to build shared libraries... yes
checking whether to build static libraries... yes
checking for gcc... (cached) gcc
checking whether we are using the GNU C compiler... (cached) yes
checking whether gcc accepts -g... (cached) yes
checking for gcc option to accept ISO C89... (cached) none needed
checking how to run the C preprocessor... gcc -E
checking for g++... g++
checking whether we are using the GNU C++ compiler... yes
checking whether g++ accepts -g... yes
checking whether we are using the GNU C++ compiler... (cached) yes
checking whether g++ accepts -g... (cached) yes
checking how to run the C++ preprocessor... g++ -E
checking for ld used by g++... /usr/ccs/bin/ld
checking if the linker (/usr/ccs/bin/ld) is GNU ld... no
checking whether the g++ linker (/usr/ccs/bin/ld) supports shared
libraries... yes
checking for g++ option to produce PIC... -fPIC -DPIC
checking if g++ PIC flag -fPIC -DPIC works... yes
checking if g++ static flag -static works... no
checking if g++ supports -c -o file.o... yes
checking if g++ supports -c -o file.o... (cached) yes
checking whether the g++ linker (/usr/ccs/bin/ld) supports shared
libraries... yes
checking dynamic linker characteristics... solaris2.10 ld.so
checking how to hardcode library paths into programs... immediate
checking if g++ supports -Wall... yes
checking if g++ supports -Wmissing-prototypes... yes
checking for flex... flex
checking lex output file root... lex.yy
checking lex library... -lfl
checking whether yytext is a pointer... yes
checking for bison... bison -y
checking ieeefp.h usability... yes
checking ieeefp.h presence... yes
checking for ieeefp.h... yes
checking for convert... /usr/sfw/bin/convert
checking for xsltproc... /usr/bin/xsltproc
checking for dblatex... no
configure: WARNING: dblatex is not installed so PDF documentation
cannot be built
checking CUnit/CUnit.h usability... no
checking CUnit/CUnit.h presence... no
checking for CUnit/CUnit.h... no
configure: WARNING: could not locate CUnit required for liblwgeom unit tests
checking iconv.h usability... yes
checking iconv.h presence... yes
checking for iconv.h... yes
checking for libiconv_open in -liconv... yes
checking for pg_config... /usr/postgres/8.4-community/bin/pg_config
checking libpq-fe.h usability... yes
checking libpq-fe.h presence... yes
checking for libpq-fe.h... yes
checking for PQserverVersion in -lpq... yes
checking for geos-config... /usr/local/bin/geos-config
checking geos_c.h usability... yes
checking geos_c.h presence... yes
checking for geos_c.h... yes
checking for initGEOS in -lgeos_c... yes
checking proj_api.h usability... yes
checking proj_api.h presence... yes
checking for proj_api.h... yes
checking for pj_get_release in -lproj... yes
configure: creating ./config.status
config.status: creating liblwgeom/Makefile
config.status: creating liblwgeom/cunit/Makefile
config.status: creating postgis/Makefile
config.status: creating postgis/sqldefines.h
config.status: creating loader/Makefile
config.status: creating topology/Makefile
config.status: creating regress/Makefile
config.status: creating doc/Makefile
config.status: creating doc/html/image_src/Makefile
config.status: creating postgis_config.h
config.status: executing libtool commands

  PostGIS is now configured for sparc-sun-solaris2.10

 -------------- Compiler Info -------------
  C compiler:           gcc -g -O2
  C++ compiler:         g++ -g -O2

 -------------- Dependencies --------------
  GEOS config:          /usr/local/bin/geos-config
  GEOS version:         3.1
  PostgreSQL config:    /usr/postgres/8.4-community/bin/pg_config
  PostgreSQL version:   8.4
  PROJ4 version:        46
  PostGIS debug level:  0

 -------- Documentation Generation --------
  xsltproc:             /usr/bin/xsltproc
  xsl style sheets:     /usr/share/sgml/docbook/xsl-stylesheets
  dblatex:
  convert:              /usr/sfw/bin/convert

root at server4 # gmake
gmake -C liblwgeom
gmake[1]: Entering directory `/tmp/postgis-1.4.0/liblwgeom'
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o measures.o measures.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o box2d.o box2d.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o ptarray.o ptarray.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o
lwgeom_api.o lwgeom_api.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o lwgeom.o lwgeom.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o lwpoint.o lwpoint.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o lwline.o lwline.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o lwpoly.o lwpoly.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o lwmpoint.o lwmpoint.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o lwmline.o lwmline.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o lwmpoly.o lwmpoly.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o
lwcollection.o lwcollection.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o
lwcircstring.o lwcircstring.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o
lwcompound.o lwcompound.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o
lwcurvepoly.o lwcurvepoly.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o lwmcurve.o lwmcurve.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o
lwmsurface.o lwmsurface.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o lwutil.o lwutil.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o
lwalgorithm.o lwalgorithm.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o
lwgunparse.o lwgunparse.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o lwgparse.o lwgparse.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o
lwsegmentize.o lwsegmentize.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o
wktparse.tab.o wktparse.tab.c
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o lex.yy.o lex.yy.c
lex.yy.c:4127: warning: 'yyunput' defined but not used
gcc -g -O2  -fPIC -DPIC  -Wall -Wmissing-prototypes  -c -o vsprintf.o vsprintf.c
ar rs liblwgeom.a measures.o box2d.o ptarray.o lwgeom_api.o lwgeom.o
lwpoint.o lwline.o lwpoly.o lwmpoint.o lwmline.o lwmpoly.o
lwcollection.o lwcircstring.o lwcompound.o lwcurvepoly.o lwmcurve.o
lwmsurface.o lwutil.o lwalgorithm.o lwgunparse.o lwgparse.o
lwsegmentize.o wktparse.tab.o lex.yy.o vsprintf.o
ar: creating liblwgeom.a
gmake[1]: Leaving directory `/tmp/postgis-1.4.0/liblwgeom'
gmake -C postgis
gmake[1]: Entering directory `/tmp/postgis-1.4.0/postgis'
/net/grok/ontools/onnv-tools/SUNWspro/SS11/bin/cc -Xa -E
-traditional-cpp postgis.sql.in.c | grep -v '^#' > postgis.sql.in
/bin/sh: /net/grok/ontools/onnv-tools/SUNWspro/SS11/bin/cc: not found
gmake[1]: *** [postgis.sql.in] Error 1
gmake[1]: *** Deleting file `postgis.sql.in'
gmake[1]: Leaving directory `/tmp/postgis-1.4.0/postgis'
gmake: *** [postgis] Error 2



More information about the postgis-users mailing list