[Gdal-dev] no sucess trying to build ECW for GDAL .

Eduardo Patto Kanegae epk.lists at gmail.com
Wed Sep 27 08:57:42 EDT 2006


Hi,

I'm under SuSE 10.1 machine trying to build ECW toolkit and then build GDAL
against it but got no sucess.

I tryed to build libecwj2-3.3 package using:

$ cd Source/NCSBuildQmake/
$ make -f Makefile-linux-shared
.... then outputs:
g++ -c -pipe -Wall -W -O2 -D_REENTRANT -fPIC  -DUNICODE -DLINUX
-D_LARGEFILE_SOURCE -D_LARGEFILE64_SOURCE -D_FILE_OFFSET_BITS=64
-D_GNU_SOURCE -DPOSIX -D_REENTRANT -DLIBECWJ2 -I. -I../../Source/include
-I../../Source/C/NCSEcw/lcms/include -o ../../obj/linux-g++/shared/NCSJP2.o
../../Source/C/NCSEcw/NCSJP2/NCSJP2.cpp
../../Source/include/NCSString.h: In copy constructor
'CNCSString::CNCSString(const CNCSString&)':
../../Source/include/NCSString.h:41: warning: base class 'struct
std::basic_string<wchar_t, std::char_traits<wchar_t>,
std::allocator<wchar_t> >' should be explicitly initialized in the copy
constructor
../../Source/include/NCSJPCBuffer.h: At global scope:
../../Source/include/NCSJPCBuffer.h:176: error: extra qualification
'CNCSJPCBuffer::' on member 'CNCSJPCBuffer'
../../Source/include/NCSJPCBuffer.h:189: error: extra qualification
'CNCSJPCBuffer::' on member 'operator='
../../Source/include/NCSJP2FileView.h:837: error: ISO C++ forbids
declaration of 'CNCSJPCResample' with no type
../../Source/include/NCSJP2FileView.h:837: error: expected ';' before '*'
token
make: *** [../../obj/linux-g++/shared/NCSJP2.o] Error 1

trying 3.3-RC2 version gives me the same error.

I also tryed to extract a pre-build of ECW libs I found under
www.maptools.org download folder:
$ CPPFLAGS="-I/usr/include/hdf -I/usr/local/ecw/include -L/usr/local/ecw/lib"
./configure --with-threads --with-libz=internal --with-pg=/usr/bin/pg_config
--with-pcraster=/usr --with-png=internal --with-libtiff=internal
--with-geotiff=internal --with-jpeg=internal --with-gif=internal
--with-ogdi=/usr --with-hdf5=/usr --with-jasper=/usr --with-ogr
--with-mysql=/usr/bin/mysql_config --with-odbc=/usr/local/src/epk/unixODBC-
2.2.11 --with-sqlite=/usr --with-geos=s/usr/local/bin/geos-config
--with-proj4 --with-perl --with-php --with-ruby --with-ngpython
--with-hdf4=/usr/lib/hdf
--with-oci=/usr/lib/oracle/xe/app/oracle/product/10.2.0/server
--with-ecw=/usr/local/ecw 2>&1 | tee configure.log
But after make I got:
make[2]: Entering directory `/usr/local/src/epk/gdal-1.3.2/frmts/ecw'
/bin/sh /usr/local/src/epk/gdal-1.3.2/libtool --mode=compile g++ -Wall
-O2   -I/usr/local/src/epk/gdal-1.3.2/port
-I/usr/local/src/epk/gdal-1.3.2/gcore
-I/usr/local/src/epk/gdal-1.3.2/alg -I/usr/local/src/epk/gdal-1.3.2/ogr
-I/usr/local/src/epk/gdal-1.3.2/ogr/ogrsf_frmts -DFRMT_ecw -DOGR_ENABLED
-I/usr/include/hdf -I/usr/local/ecw/include -L/usr/local/ecw/lib
-I/usr/local/src/epk/gdal-1.3.2/port
-I/usr/local/src/epk/unixODBC-2.2.11-I/usr/local/src/epk/unixODBC-
2.2.11/include -I/usr/local/ecw/include -I/usr -I/usr/include
-I/usr/include  -c -o ../o/ecwdataset.o ecwdataset.cpp
 g++ -Wall -O2 -I/usr/local/src/epk/gdal-1.3.2/port
-I/usr/local/src/epk/gdal-1.3.2/gcore -I/usr/local/src/epk/gdal-1.3.2/alg
-I/usr/local/src/epk/gdal-1.3.2/ogr
-I/usr/local/src/epk/gdal-1.3.2/ogr/ogrsf_frmts
-DFRMT_ecw -DOGR_ENABLED -I/usr/include/hdf -I/usr/local/ecw/include
-L/usr/local/ecw/lib -I/usr/local/src/epk/gdal-1.3.2/port
-I/usr/local/src/epk/unixODBC-2.2.11
-I/usr/local/src/epk/unixODBC-2.2.11/include
-I/usr/local/ecw/include -I/usr -I/usr/include -I/usr/include -c
ecwdataset.cpp  -fPIC -DPIC -o ../o/.libs/ecwdataset.o
/usr/local/ecw/include/NCSJPCBuffer.h:176: error: extra qualification
'CNCSJPCBuffer::' on member 'CNCSJPCBuffer'
/usr/local/ecw/include/NCSJPCBuffer.h:189: error: extra qualification
'CNCSJPCBuffer::' on member 'operator='
/usr/local/ecw/include/NCSJP2FileView.h:820: error: ISO C++ forbids
declaration of 'CNCSJPCResample' with no type
/usr/local/ecw/include/NCSJP2FileView.h:820: error: expected ';' before '*'
token
/usr/local/ecw/include/NCSJPCMarker.h:101: error: extra qualification
'CNCSJPCMarker::' on member 'operator='
/usr/local/ecw/include/NCSJPCPacket.h:32: warning: 'class CNCSJPCPacket' has
virtual functions but non-virtual destructor
/usr/local/ecw/include/NCSJPCPLTMarker.h:84: error: extra qualification
'CNCSJPCPLTMarker::' on member 'operator='
ecwdataset.cpp: In member function 'virtual CPLErr
ECWRasterBand::IRasterIO(GDALRWFlag, int, int, int, int, void*, int, int,
GDALDataType, int, int)':
ecwdataset.cpp:551: warning: dereferencing type-punned pointer will break
strict-aliasing rules
make[2]: *** [../o/ecwdataset.o] Error 1
make[2]: Leaving directory `/usr/local/src/epk/gdal-1.3.2/frmts/ecw'
make[1]: *** [ecw-install-obj] Error 2
make[1]: Leaving directory `/usr/local/src/epk/gdal-1.3.2/frmts'
make: *** [frmts-target] Error 2


Any ideas?

regards

-- 
Eduardo Patto Kanegae
http://www.webmapit.com.br
-------------- next part --------------
An HTML attachment was scrubbed...
URL: http://lists.osgeo.org/pipermail/gdal-dev/attachments/20060927/5ebb406e/attachment.html


More information about the Gdal-dev mailing list