[postgis-users] PostGIS 1.4.0 make problems on Solaris 10
Nathan Widmyer
lighthousej at gmail.com
Thu Sep 24 04:13:46 PDT 2009
Hello,
I recently did compile PostGIS 1.4 on Solaris 10 sparc with the Pg
binaries. I'm not a solaris master but I know my way around.
First, I will be able to write down what I did next week, the machine
is not accessible at the moment. I do remember that the process is
quite difficult compared to other compiles. This is possibly because
there is no solaris maintainer to keep it simple.
I only say it's difficult because the automake/autoconf behavior is
unexpected, can't find utilities in your path, etc... I remember I
had a hard time telling PostGIS where the gnu gcc was (it and a
symlink to it called cc was in my path!).
I'll get that info out to you and the list asap, if you haven't
figured it out by then.
PS you do have to specify CPP
CPP=/usr/local/bin/gcc ./configure
On 9/24/09, Andrew Smith <laconical at gmail.com> wrote:
> 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
> _______________________________________________
> 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