[Gdal-dev] gdal config icluding xerces

Daniel Isenegger disen at geo.unizh.ch
Tue Jul 13 06:31:21 EDT 2004


Hi
after some problems with installing Xerces in default paths, i think i 
overcome (with the patient help of Frank) this problems (now it seems 
that gdal finds the Xerces libs and includes), at least i got a new 
error message (:-)

checking for Xerces C++... requested, but compile or link fails!

./configure --with-grass=/usr/local/grass-5.7.0 
--with-pg=/usr/local/pgsql/bin/pg_config --with-xerces 
--with-odbc=/usr/local/lib --with-static-proj4=/usr/lib/libproj.so | tee 
configure_disen.log


g++ -I/usr/local/include/xercesc -o conftest conftest.cpp 
-L/usr/local/lib -lxerces-c -L/usr/local/grass-5.7.0 
-L/usr/local/grass-5.7.0/lib -lgrass5 -lz -lm -ldl

/usr/lib/gcc-lib/i586-suse-linux/3.3.3/../../../../i586-suse-linux/bin/ld: 
cannot find -lgrass5
collect2: ld returned 1 exit status

what i don't understand here:
is still Xerces causing the problem or is it grass

for info:
grass57 installed in /usr/local/grass-5.7.0 (as indicated in 
config-statement)

Thanks Dani







Frank Warmerdam schrieb:

> Daniel Isenegger wrote:
>
>> Hi Frank,
>> thanks for for your advice. Unfortunately it still doesn't work. I 
>> included your advices:
>>
>> ./configure --with-grass=/usr/local/grass-5.7.0 
>> --with-pg=/usr/local/pgsql/bin/pg_config --with-xerces 
>> --with-xerces-inc=/usr/local/xerces-c-src2_2_0/include/xercesc 
>> --with-xerces-lib="-L/usr/local/xerces-c-src2_2_0/lib -lxerces-c 
>> -lpthread" --with-odbc=/usr/local/lib 
>> --with-static-proj4=/usr/lib/libproj.so | tee configure_disen.log
>
>
> Daniel,
>
> In your earlier example you were using Xerces 2.1 but now you are showing
> 2.2 paths.  Did you build 2.2 as well in trying the new paths?  I used
> 2.2 in my examples because that is what I have installed.
>
>> the error is: cannot find files, e.g. file 
>> xercesc/util/XercesDefs.hpp (which is at that location). Does gdal 
>> search only the paths given in the configuration or also consider 
>> environment vars?
>
>
> I am not aware of the makefiles or configure using environment vars for
> include file search paths.
>
>> g++ -I/usr/local/xerces-c-src2_2_0/include/xercesc 
>> /usr/local/xerces-c-src2_2_0/include -o conftest conftest.cpp 
>> -L/usr/local/xerces-c-src2_2_0/lib -lxerces-c -lpthread 
>> -L/usr/local/grass-5.7.0 -L/usr/local/grass-5.7.0/lib -lgrass5 -lz 
>> -lm -ldl
>>
>>
>> In file included from conftest.cpp:1:
>> /usr/local/xerces-c-src2_2_0/include/xercesc/util/PlatformUtils.hpp:65:39: 
>> xercesc/util/XercesDefs.hpp: No such file or directory
>
>
> Hmm, there seems to be a conflict between how I refer to include files
> from xerces in my code (not including the xercesc prefix) and how they
> are referred to by Xerces code itself, including the xercesc prefix.
> This happens to work for me because due to stuff already having been
> pre-installed.
>
> I think you will need an include path that includes the xercesc directory
> and the directory above it.  This can't be easily controlled by configure
> options as things stand, so you will likely need to hand edit 
> GDALmake.opt
> and change the XERCES_INCLUDE to look something like:
>
> XERCES_INCLUDE = -I/usr/local/xerces-c-src2_2_0/include/xercesc \
>                  -I/usr/local/xerces-c-src2_2_0/include
>
> I have altered the configure logic in CVS to include both locations and
> now the appropriate value to pass in --with-xerces-inc would be the
> directory *above* the xercesc directory.
>
>> if i understand you right, you suggest to just install 
>> xerces-binaries at the default place and let gdal-config script look 
>> for xerces?
>> My problem is, there are no xerces-binaries for suse9.1 and in the 
>> binaries of former versions, there is no default installation path 
>> suggested.
>
>
> I am suggesting building Xerces from source, and then doing a "make 
> install".
> The default install location is under /usr/local and if this had been 
> done
> everything would have worked on the first time.  I haven't done a very 
> good
> job in explaining other options partly because behind the scenes the
> compiler was still finding the stuff under /usr/local even when I 
> tried to
> force it to use a different copy.
>
>> if i have installed xerces as i have it now and just run the 
>> gdal-config script with --with-xerces the same error as described in 
>> the first mail occurs (conftest.cpp:1:34: util/PlatformUtils.hpp: No 
>> such file or directory ).
>
>
> Well, currently you have a *build* tree under /usr/local, as opposed to
> having installed it (apparently).
>
> Boy, I just hate build problems on machines I don't have access too. 
> It is
> so hard for me to deduce what can be going wrong through the narrow 
> window
> of email bug reports.
>
> Best regards,






More information about the Gdal-dev mailing list