[postgis-users] compile on solaris 11 sparc

Mark Cave-Ayland mark.cave-ayland at siriusit.co.uk
Mon Sep 5 04:50:56 PDT 2011


On 02/09/11 18:02, Doug McComber wrote:

> I've got this in my profile:
>
> # 64 bit compiling
> CC="gcc"
> CXX="g++"
> CPP="gcc"
> CFLAGS="-m64"
> CPPFLAGS="-m64"
> CXXFLAGS="-m64"
>
> # 3rd party libray
> LDFLAGS="-L/usr/local/lib"
>
> and ran source ~/.profile
>
> Despite that I found I had to add some of that to the configure command
> (shouldn't have to log out after sourcing profile right?) like so:
>
> ./configure CC=gcc CFLAGS=-m64 CPPFLAGS=-m64 CXXFLAGS=-m64
> LDFLAGS=-L/usr/local/lib --with-geosconfig=/usr/local/bin/geos-config
>
> This completes without error. The only warnings I saw were about dblatex
> and CUnit. The final output of configure being:
>
> PostGIS is now configured for sparc-sun-solaris2.11
>
> -------------- Compiler Info -------------
> C compiler: gcc -m64
> C++ compiler: g++ -m64
>
> -------------- Dependencies --------------
> GEOS config: /usr/local/bin/geos-config
> GEOS version: 3.3.0
> PostgreSQL config: /usr/postgres/9.0-pgdg/bin/64/pg_config
> PostgreSQL version: PostgreSQL 9.0.4
> PROJ4 version: 47
> Libxml2 config: /usr/bin/xml2-config
> Libxml2 version: 2.7.6
> PostGIS debug level: 0
>
> -------- Documentation Generation --------
> xsltproc: /usr/bin/xsltproc
> xsl style sheets:
> dblatex:
> convert: /usr/bin/convert
>
> Make starts out well but dies with an error complaining about not
> finding SunStudio!
>
> gcc -m64 -fPIC -DPIC -Wall -Wmissing-prototypes -c -o g_util.o g_util.c
> gcc -m64 -fPIC -DPIC -Wall -Wmissing-prototypes -c -o lwgeodetic.o
> lwgeodetic.c
> gcc -m64 -fPIC -DPIC -Wall -Wmissing-prototypes -c -o lwtree.o lwtree.c
> gcc -m64 -fPIC -DPIC -Wall -Wmissing-prototypes -ffloat-store -c -o
> lwspheroid.o lwspheroid.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 g_box.o g_coord.o
> g_geometry.o g_ptarray.o g_serialized.o g_util.o lwgeodetic.o lwtree.o
> lwspheroid.o
> ar: creating liblwgeom.a
> make[1]: Leaving directory `/home/doug/sources/postgis-1.5.3/liblwgeom'
> make -C postgis
> make[1]: Entering directory `/home/doug/sources/postgis-1.5.3/postgis'
> /opt/studio11/SUNWspro/bin/cc -Xa -E -traditional-cpp postgis.sql.in.c |
> grep -v '^#' > postgis.sql.in
> /bin/sh: line 1: /opt/studio11/SUNWspro/bin/cc: not found
> make[1]: *** [postgis.sql.in] Error 1
> make[1]: *** Deleting file `postgis.sql.in'
> make[1]: Leaving directory `/home/doug/sources/postgis-1.5.3/postgis'
> make: *** [postgis] Error 2
>
> This is a Solaris 11 box I should mention and gcc was installed from the
> Oracle Solaris 11 repository as opposed to a 3rd-party package or from
> source. I don't have Sun Studio installed (never did) and other programs
> compiled without problem (Proj 4 and GEOS). This error
> "/opt/studio11/SUNWspro/bin/cc: not found" appears to be PostGIS
> specific (according to Google anyway). Suggestions?

Right, so currently the .sql files are generated using the C 
pre-processor and so uses the CPP variable in addition to the ones 
defined above. I'm not sure what the correct command line should be to 
invoke the pre-processor in Sun's compiler is though.

I think we need to start thinking about ripping the CPP code out and 
finding something more suitable instead, particularly when thinking 
about building other platforms such as Win32/64. I'm not exactly sure 
what the replacement should be though :/


ATB,

Mark.

-- 
Mark Cave-Ayland - Senior Technical Architect
PostgreSQL - PostGIS
Sirius Corporation plc - control through freedom
http://www.siriusit.co.uk
t: +44 870 608 0063

Sirius Labs: http://www.siriusit.co.uk/labs



More information about the postgis-users mailing list