[gdal-dev] Problems building 1.6.0 with Xerces 2.7 on Solaris 10 / Sparc (1.5.x work)

Peter J Halls P.Halls at york.ac.uk
Fri Apr 17 03:59:11 EDT 2009


Thanks for this suggestion, Peter.  Not really seeing how 1.5.0 could build in 
such circumstances yet 1.6.0 fail, I checked XercescVersion.hpp - which contains

#define XERCES_VERSION_MAJOR 2
#define XERCES_VERSION_MINOR 7
#define XERCES_VERSION_REVISION 0

Next, in order to be absolutely certain, I created subdirectories specific to 
Xercesc 2.7.0 in include and lib and, from the Xercesc 2.7.0 sources ran an 
install to these new directories.  Back in GDAL I ran gmake clean, changed the 
configure sequence to point to the new directories, ran configure and gmake, but 
the link failed again.

Yesterday, in my cut from the error message, I omitted these lines:

[Hint: static member xercesc_2_7::XMLPlatformUtils::fgMemoryManager must be 
defined in the program]

[Hint: static member xercesc_2_7::XMLUni::fgXercesScannerName must be defined in 
the program]

[Hint: static member xercesc_2_7::__RTTI__1nLxercesc_2_7RSAXParseException_ must 
be defined in the program]

[Hint: static member xercesc_2_7::XMLUni::fgXercescDefaultLocale must be defined 
in the program]

[Hint: static member xercesc_2_7::XMLUni::fgWFXMLScanner must be defined in the 
program]

[Hint: static member xercesc_2_7::__RTTI__1nLxercesc_2_7MXMLException_ must be 
defined in the program]

[Hint: static member xercesc_2_7::XMLUni::fgSAX2CoreNameSpaces must be defined 
in the program]

[Hint: static member xercesc_2_7::XMLUni::fgSAX2CoreValidation must be defined 
in the program]

[Hint: static member xercesc_2_7::XMLPlatformUtils::fgTransService must be 
defined in the program]

I've not programmed using the Xerces-c libraries so this is only guesswork, but 
these 'hints' suggest to me problems with include definitions in the sources.  I 
have not yet worked through every .cpp file in iom and gml - I guess that must 
be my next step, or simply to consider adding the Xerces-c header calls to a 
GDAL header used by every module.  Another course could be to diff between 1.5.0 
and 1.6.0 - but that presumes that there has been no significant work on these 
modules between the releases.

Thanks and best wishes,

Peter

Rushforth, Peter wrote:
>  Peter,
> 
> Is it possible that what's in /usr/appl/bin/solaris/sparc/include/
> is xerces 2.8 or other?
> 
> Looks like a version issue to me, going by memory.
> 
> Peter
> 
>> -----Original Message-----
>> From: gdal-dev-bounces at lists.osgeo.org 
>> [mailto:gdal-dev-bounces at lists.osgeo.org] On Behalf Of Peter J Halls
>> Sent: April 16, 2009 8:49 AM
>> To: gdal-dev at lists.osgeo.org
>> Subject: [gdal-dev] Problems building 1.6.0 with Xerces 2.7 
>> on Solaris 10 / Sparc (1.5.x work)
>>
>> Dear All,
>>
>>     I'm sure that I've done something wrong, but cannot see 
>> it!  I've pulled GDAL 1.6.0 and ran the same configure 
>> command as for 1.5.x, seeking to include xerces  (for GML).  
>> Configure failed to find the xerces libraries with both gcc
>> 3.3 and the Sun compilers; I also had to drop Jasper, as I do 
>> not currently have this.  I got round the xerces problem for 
>> the Sun compilers (but get a new set of errors from gcc) by 
>> editing configure to add a reference to the XMLUni header 
>> file, as follows:
>>
>> #include <xercesc/util/XercesDefs.hpp>
>> #include <xercesc/util/XMLUni.hpp>
>> #include <xercesc/util/PlatformUtils.hpp>
>>
>> However, GDAL then fails to build, with multiple link errors 
>> of the same form as originally generated by configure:
>>
>> Undefined                       first referenced
>>   symbol                             in file
>> int xercesc_2_7::XMLString::compareString(const unsigned 
>> short*const,const unsigned short*const) 
>> /usr/postel/gdal-1.6.0/ogr/ogrsf_frmts/o/.libs/iom_basket.o
>> unsigned short*xercesc_2_7::XMLString::replicate(const 
>> unsigned short*const) 
>> /usr/postel/gdal-1.6.0/ogr/ogrsf_frmts/o/.libs/iom_basket.o
>> xercesc_2_7::XMLFormatter&xercesc_2_7::XMLFormatter::operator<
> <(const unsigned
>> short*const) /usr/postel/gdal-1.6.0/ogr/ogrsf_frmts/o/.libs/writer.o
>> void xercesc_2_7::XMLString::catString(unsigned 
>> short*const,const unsigned
>> short*const) /usr/postel/gdal-1.6.0/ogr/ogrsf_frmts/o/.libs/writer.o
>> xercesc_2_7::LocalFileFormatTarget::LocalFileFormatTarget(const
>> char*const,xercesc_2_7::MemoryManager*const)
>> /usr/postel/gdal-1.6.0/ogr/ogrsf_frmts/o/.libs/writer.o
>>
>> Checking the sources, the header file requests appear to be 
>> in order, so it would appear that I have some other problem 
>> that is masked by my edit to configure.
>>
>> My current configure statement is
>>
>> ./configure 'CC=cc' 'CCC=CC' 
>> '--with-oci-include=/usr/appl/oracle/solaris/solaris32/instant
> client10_1/sdk/include' 
>> '--with-oci-lib=/usr/appl/oracle/solaris/solaris32/instantclie
> nt10_1/lib' 
>> '--prefix=/usr/appl/bin/solaris/sparc' '--with-pcraster=internal' 
>> '--with-png=internal' '--with-libtiff=internal' 
>> '--with-geotiff=internal' 
>> '--with-jpeg=internal' '--with-xerces' 
>> '--with-xerces-inc=/usr/appl/bin/solaris/sparc/include/' 
>> '--with-xerces-lib=/usr/appl/bin/solaris/sparc/lib/libxerces-c.so.27' 
>> '--without-python' '--without-jasper'
>>
>> Note that I have had to specify the libxerces-c.so.27, rather 
>> than just libxerces-c.so as I did at GDAL 1.5.x - they are 
>> the same version.
>>
>> I can provide compilation logs, etc., should these be needed 
>> to identify where I've gone wrong.
>>
>> Thanks and best wishes,
>>
>> Peter
>>
>> --------------------------------------------------------------
>> ------------------
>> Peter J Halls, GIS Advisor, University of York
>> Telephone: 01904 433806     Fax: 01904 433740
>> Snail mail: Computing Service, University of York, 
>> Heslington, York YO10 5DD This message has the status of a 
>> private and personal communication
>> --------------------------------------------------------------
>> ------------------
>> _______________________________________________
>> gdal-dev mailing list
>> gdal-dev at lists.osgeo.org
>> http://lists.osgeo.org/mailman/listinfo/gdal-dev
>>

-- 
--------------------------------------------------------------------------------
Peter J Halls, GIS Advisor, University of York
Telephone: 01904 433806     Fax: 01904 433740
Snail mail: Computing Service, University of York, Heslington, York YO10 5DD
This message has the status of a private and personal communication
--------------------------------------------------------------------------------


More information about the gdal-dev mailing list