[gdal-dev] Building gdal on solaris 11

Even Rouault even.rouault at spatialys.com
Mon Jun 27 04:50:25 PDT 2016


Le lundi 27 juin 2016 12:44:07, Andrew Watkins a écrit :
> Hello,
> 
> I am trying to build postgis on Solaris 11, but having problems with
> gdal part.
> 
> I have seen people have said they have compiled it, but worst luck they
> have never given any details.
> 
> I have tried old and new versions but no luck. Any ideas?
> 
> gdal 2.1.0
> ==========
> # CFLAGS="-m64" CXXFLAGS="-m64" LDFLAGS="-m64" ./configure
> # gmake
> 
> libtool: compile:  g++ -I/export/src/databases/gdal-2.1.0/port
> -I/export/src/databases/gdal-2.1.0/gcore
> -I/export/src/databases/gdal-2.1.0/alg
> -I/export/src/databases/gdal-2.1.0/ogr
> -I/export/src/databases/gdal-2.1.0/ogr/ogrsf_frmts
> -I/export/src/databases/gdal-2.1.0/gnm
> -I/export/src/databases/gdal-2.1.0/apps -m64 -Wall -Wextra -Winit-self
> -Wunused-parameter -Wformat -Werror=format-security
> -Wno-format-nonliteral -Wlogical-op -Wshadow -Werror=vla
> -Wmissing-declarations -Wnon-virtual-dtor -Woverloaded-virtual
> -fno-operator-names -DLERC -I libLERC
> -I/export/src/databases/gdal-2.1.0/port
> -I/export/src/databases/gdal-2.1.0/gcore
> -I/export/src/databases/gdal-2.1.0/alg
> -I/export/src/databases/gdal-2.1.0/ogr
> -I/export/src/databases/gdal-2.1.0/ogr/ogrsf_frmts
> -I/export/src/databases/gdal-2.1.0/gnm
> -I/export/src/databases/gdal-2.1.0/apps -DOGR_ENABLED
> -I/export/src/databases/gdal-2.1.0/port -DGDAL_COMPILATION -c
> marfa_dataset.cpp  -fPIC -DPIC -o ../o/.libs/marfa_dataset.o
> marfa_dataset.cpp: In member function 'CPLXMLNode*
> GDAL_MRF::GDALMRFDataset::BuildConfig()':
> marfa_dataset.cpp:1072:14: error: expected unqualified-id before numeric
> constant
> marfa_dataset.cpp:1072:14: error: expected initializer before numeric
> constant
> marfa_dataset.cpp:1074:66: error: invalid conversion from 'int' to
> 'CPLXMLNode*'
> marfa_dataset.cpp:1074:66: error:   initializing argument 1 of
> 'CPLXMLNode* CPLCreateXMLElementAndValue(CPLXMLNode*, const char*, const
> char*)'

Interesting... Wondering if "CS" might not be defined in a Solaris header. 
could you try replacing CS at line 1072 and 1074 of 
frmts/mrf/marfa_dataset.cpp with "cachedSource" for example ?

So :
	CPLXMLNode *cachedSource = CPLCreateXMLNode(config, CXT_Element, 
"CachedSource");
	// Should wrap the string in CDATA, in case it is XML
	CPLXMLNode *S = CPLCreateXMLElementAndValue(cachedSource, "Source", 
source);

You can also disable the MRF driver with ./configure --without-mrf


> gmake[2]: *** [../o/marfa_dataset.lo] Error 1
> gmake[2]: Leaving directory `/export/src/databases/gdal-2.1.0/frmts/mrf'
> gmake[1]: *** [mrf-install-obj] Error 2
> gmake[1]: Leaving directory `/export/src/databases/gdal-2.1.0/frmts'
> gmake: *** [frmts-target] Error 2
> 
> 
> gdal 1.11.4
> ===========
> # CFLAGS="-m64" CXXFLAGS="-m64" LDFLAGS="-m64" ./configure
> # gmake
> 
> /bin/sh /export/src/databases/gdal-1.11.4/libtool --mode=compile
> --tag=CC gcc -m64 -DHAVE_SSE_AT_COMPILE_TIME  -Wall
> -Wdeclaration-after-statement -I/export/src/databases/gdal-1.11.4/port
> -I/export/src/databases/gdal-1.11.4/gcore
> -I/export/src/databases/gdal-1.11.4/alg
> -I/export/src/databases/gdal-1.11.4/ogr
> -I/export/src/databases/gdal-1.11.4/ogr/ogrsf_frmts
> -I/export/src/databases/gdal-1.11.4/frmts/vrt -DOGR_ENABLED
> -I/export/src/databases/gdal-1.11.4/port  -c -o gdalserver.lo gdalserver.c
> libtool: compile:  gcc -m64 -DHAVE_SSE_AT_COMPILE_TIME -Wall
> -Wdeclaration-after-statement -I/export/src/databases/gdal-1.11.4/port
> -I/export/src/databases/gdal-1.11.4/gcore
> -I/export/src/databases/gdal-1.11.4/alg
> -I/export/src/databases/gdal-1.11.4/ogr
> -I/export/src/databases/gdal-1.11.4/ogr/ogrsf_frmts
> -I/export/src/databases/gdal-1.11.4/frmts/vrt -DOGR_ENABLED
> -I/export/src/databases/gdal-1.11.4/port -c gdalserver.c  -fPIC -DPIC -o
> .libs/gdalserver.o
> In file included from /usr/include/stdio.h:15:0,
>                   from
> /export/src/databases/gdal-1.11.4/port/cpl_port.h:144,
>                   from gdalserver.c:33:
> /usr/include/sys/feature_tests.h:358:2: error: #error "Compiler or
> options invalid; UNIX 03 and POSIX.1-2001 applications     require the
> use of c99"
> gmake[1]: *** [gdalserver.lo] Error 1
> gmake[1]: Leaving directory `/export/src/databases/gdal-1.11.4/apps'
> gmake: *** [apps-target] Error 2

I see that in GDAL 2.1.0, I've done a related fix :
https://trac.osgeo.org/gdal/changeset/32152 . I guess this was before the 
inclusion of the MRF driver.

> 
> 
> 
> Thanks,
> 
> Andrew

-- 
Spatialys - Geospatial professional services
http://www.spatialys.com


More information about the gdal-dev mailing list