[El] Trying to build gdal with ECW support on SL 6.0

Volker Fröhlich volker27 at gmx.at
Sat May 14 06:08:45 EDT 2011


Dear Micha!

Besides what you mentioned, the ECW 4.2 license is restricted to create 
software for personal use, or something nastly like that.

You fail on the -Xcompiler flag. There is a patch. This is related to your 
version of GCC and only the Ruby bindings are affected.

You can either take a look at the patch in Fedora's GDAL 1.7.3 source RPM and 
I guess ELGIS has it too.

http://koji.fedoraproject.org/koji/buildinfo?buildID=240296

By the way, you can also run:

# yum-builddep some.src.rpm -- All BRs from the source RPM are installed
rpmbuild --rebuild some.src.rpm

Volker


Am Samstag 14 Mai 2011, 11:54:00 schrieb Micha Silver:
> Perhaps someone can give me a tip here. I'd like to get gdal installed
> with ECW support on Scientific Linux 6. But I'm stuck at a fairly basic
> step, and I can't figure out why. Here's what I've done so far:
> 
> 
> I've downloaded from the old ERMapper site the SDK source - version 3.3
> (For those who haven't followed the ECW "saga": some years back, when
> ECW was owned by ERMapper they released the source code SDK, version
> 3.3. It would compile OK on most Linux distros. Since then ERDAS has
> taken over, and they are unfortunately less supportive of FOSS. They
> release a binary only windows installer for the SDK, now at version 4.2,
> but nothing yet for Linux, not source nor binary. So we're stuck with
> the older 3.3 version) . Anyway that older version compiled OK.
> 
> 
> Next I got the source RPM for gdal from EPEL: still at gdal-1.7.2 .
> Before adding the compile option --with-ecw to the spec file, I tried to
> just rebuild the rpm, to make sure all dependencies were covered, etc. I
> set up my ~.rpmmacros and installed the src.rpm, then I ran:
> 
> 
> [micha at MS-SL6 rpmbuild]$ rpmbuild -bb SPECS/gdal.spec
> 
> The %prep went OK, and it began compiling, but when it reached gdal_wrap
> I got these errors:
> 
> 
> {---------%<---------------------------------------------------------------
> -------------------------------------------------------}
> 
> make[2]: Entering directory
> `/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora/swig/ruby'
> swig -Wall -I../include -I../include/ruby -I../include/ruby/docs
> -autorename -prefix "gdal::"
> -I/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora -c++ -ruby -o
> gdal_wrap.cpp ../include/gdal.i
> ../include/Dataset.i:308: Warning(453): Can't apply (char **CSL). No
> typemaps are defined.
> ../include/Band.i:259: Warning(453): Can't apply (IF_ERROR_RETURN_NONE).
> No typemaps are defined.
> ../include/Band.i:269: Warning(453): Can't apply (IF_ERROR_RETURN_NONE).
> No typemaps are defined.
> ../include/Operations.i:227: Warning(453): Can't apply (int nList,double
> *pList). No typemaps are defined.
> ../include/Operations.i:358: Warning(453): Can't apply (int
> object_list_count,GDALRasterBandShadow **poObjects). No typemaps are
> defined.
> ../include/gdal.i:566: Warning(490): Fragment 'XMLTreeToPyList' not found.
> swig -Wall -I../include -I../include/ruby -I../include/ruby/docs
> -autorename -prefix "gdal::"
> -I/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora -ruby -o
> gdalconst_wrap.c ../include/gdalconst.i
> swig -Wall -I../include -I../include/ruby -I../include/ruby/docs
> -autorename -prefix "gdal::"
> -I/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora -c++ -ruby -o
> ogr_wrap.cpp ../include/ogr.i
> ../include/osr.i:152: Warning(453): Can't apply (char **CSL). No
> typemaps are defined.
> ../include/osr.i:162: Warning(453): Can't apply (char **CSL). No
> typemaps are defined.
> swig -Wall -I../include -I../include/ruby -I../include/ruby/docs
> -autorename -prefix "gdal::"
> -I/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora -c++ -ruby -o
> osr_wrap.cpp ../include/osr.i
> ../include/osr.i:151: Warning(453): Can't apply (char **CSL). No
> typemaps are defined.
> ../include/osr.i:161: Warning(453): Can't apply (char **CSL). No
> typemaps are defined.
> make -f RubyMakefile.mk build
> make[3]: Entering directory
> `/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora/swig/ruby'
> /usr/bin/libtool --mode=compile --tag=CXX g++ -O2 -g  -Wall
> -Wdeclaration-after-statement
> -I/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora/port
> -I/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora/gcore
> -I/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora/alg
> -I/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora/ogr
> -I/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora/ogr/ogrsf_frmts
> -I/usr/lib64/ruby/1.8  -c gdal_wrap.cpp
> libtool: compile:  g++ -O2 -g -Wall -Wdeclaration-after-statement
> -I/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora/port
> -I/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora/gcore
> -I/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora/alg
> -I/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora/ogr
> -I/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora/ogr/ogrsf_frmts
> -I/usr/lib64/ruby/1.8 -c gdal_wrap.cpp  -fPIC -DPIC -o .libs/gdal_wrap.o
> cc1plus: warning: command line option "-Wdeclaration-after-statement" is
> valid for C/ObjC but not for C++
> gdal_wrap.cpp: In function 'VALUE SWIG_AUX_NUM2DBL(VALUE*)':
> gdal_wrap.cpp:2253: warning: unused variable 'type'
> gdal_wrap.cpp: In function 'VALUE _wrap_escape_string(int, VALUE*, VALUE)':
> gdal_wrap.cpp:3729: warning: deprecated conversion from string constant
> to 'char*'
> gdal_wrap.cpp:3729: warning: deprecated conversion from string constant
> to 'char*'
> gdal_wrap.cpp:3727: warning: unused variable 'kwnames'
> gdal_wrap.cpp: In function 'VALUE _wrap_Driver_create(int, VALUE*, VALUE)':
> gdal_wrap.cpp:5149: warning: deprecated conversion from string constant
> to 'char*'
> gdal_wrap.cpp:5149: warning: deprecated conversion from string constant
> to 'char*'
> gdal_wrap.cpp:5149: warning: deprecated conversion from string constant
> to 'char*'
> gdal_wrap.cpp:5149: warning: deprecated conversion from string constant
> to 'char*'
> gdal_wrap.cpp:5149: warning: deprecated conversion from string constant
> to 'char*'
> gdal_wrap.cpp:5149: warning: deprecated conversion from string constant
> to 'char*'
> gdal_wrap.cpp:5149: warning: deprecated conversion from string constant
> to 'char*'
> gdal_wrap.cpp:5147: warning: unused variable 'kwnames'
> 
> [... Lots more lines like these ...]
> 
> 
> gdal_wrap.cpp: In function 'VALUE _wrap_regenerate_overview(int, VALUE*,
> VALUE)':
> 
> gdal_wrap.cpp:15200: warning: deprecated conversion from string constant
> to 'char*'
> gdal_wrap.cpp:15200: warning: deprecated conversion from string constant
> to 'char*'
> gdal_wrap.cpp:15200: warning: deprecated conversion from string constant
> to 'char*'
> gdal_wrap.cpp:15200: warning: deprecated conversion from string constant
> to 'char*'
> gdal_wrap.cpp:15200: warning: deprecated conversion from string constant
> to 'char*'
> gdal_wrap.cpp:15198: warning: unused variable 'kwnames'
> gdal_wrap.cpp: In function 'VALUE _wrap_push_error_handler(int, VALUE*,
> VALUE)':
> gdal_wrap.cpp:3616: warning: 'argv[0]' may be used uninitialized in this
> function
> libtool: compile:  g++ -O2 -g -Wall -Wdeclaration-after-statement
> -I/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora/port
> -I/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora/gcore
> -I/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora/alg
> -I/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora/ogr
> -I/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora/ogr/ogrsf_frmts
> -I/usr/lib64/ruby/1.8 -c gdal_wrap.cpp -o gdal_wrap.o >/dev/null 2>&1
> g++ -L../../.libs/ -O2 -g  -Xcompiler -shared -L/usr/lib64  -L/usr/lib64
> -lgeos_c -L/usr/lib -lsqlite3 -lodbc -lodbcinst -L/usr/lib -lexpat
> -L/usr/lib -lxerces-c -lpthread -lNCSEcw -lNCSCnet -lNCSUtil -ljasper
> -lhdf5 -L/usr/lib64/hdf -lmfhdf -ldf -logdi -lgif -ljpeg -lgeotiff
> -ltiff -lpng -lnetcdf -lcfitsio -lpq -L/usr/lib64 -lpq -lz -lpthread -lm
> -lrt -ldl  -ldap -ldapclient -ldapserver -lpthread -lrx  -lcurl
> -lxml2 -lz -lm   -lcurl      -rdynamic -L/usr/lib64/mysql -lmysqlclient
> -lz -lcrypt -lnsl -lm -lssl -lcrypto
> -L/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora -lgdal -lruby
> gdal_wrap.o -o gdal.so
> g++: unrecognized option '-Xcompiler'
> /usr/bin/ld: gdal_wrap.o: relocation R_X86_64_32 against `.bss' can not
> be used when making a shared object; recompile with -fPIC
> gdal_wrap.o: could not read symbols: Bad value
> collect2: ld returned 1 exit status
> make[3]: *** [gdal.so] Error 1
> make[3]: Leaving directory
> `/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora/swig/ruby'
> make[2]: *** [build] Error 2
> make[2]: Leaving directory
> `/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora/swig/ruby'
> make[1]: *** [build] Error 2
> make[1]: Leaving directory
> `/home/micha/Downloads/rpmbuild/BUILD/gdal-1.7.2-fedora/swig'
> make: *** [swig-modules] Error 2
> error: Bad exit status from /var/tmp/rpm-tmp.e8MsR0 (%build)
> 
> 
> RPM build errors:
>      Bad exit status from /var/tmp/rpm-tmp.e8MsR0 (%build)
> 
> {---------%<---------------------------------------------------------------
> -------------------------------------------------------}
> 
> 
> BTW, I also tried with the new gdal-1.8.0 which was just released for
> CentOS 5.6. With some twiddling (lib paths, etc) I got it to start
> compiling, but it also errored out at the same step as above.
> 
> 
> Any ideas?
> 
> Thanks,
> 
> 
> Micha
> 
> 
> _______________________________________________
> el mailing list
> el at lists.osgeo.org
> http://lists.osgeo.org/mailman/listinfo/el



More information about the el mailing list