[gdal-dev] Antw: Re: Issues with GDAL compilation

Even Rouault even.rouault at spatialys.com
Wed Nov 4 04:36:35 PST 2015


Le mercredi 04 novembre 2015 11:21:31, Matthias Benedikt a écrit :
> Perfect!
> Replacing
> 
> 
> #if defined(__GNUC__) && defined(__x86_64__)
> 
> with
> 
> #if 0
> did the trick, thanks a million!

I don't know if you're a C/C+ developer, but if so, perhaps you could provide 
a patch to detect this compiler ?

I guess this must be something around
#ifdef __INTEL_COMPILER

but that's maybe too extreme as I hope that it is just that you use an 
outdated version of it and that newer versions work better.

So perhaps something like

#if (defined(__INTEL_COMPILER) && __INTEL_COMPILER <= buggy_version_number )

assuming blindlessly that the value of __INTEL_COMPILER reflects a version 
number. 

> 
> >>> Even Rouault <even.rouault at spatialys.com> 04.11.2015 11:13 >>>
> 
> Matthias,
> 
> Plese remind to keep the list CC'ed.
> 
> > I tried also with the latest version and --without-avx, here's the
> > result:
> > 
> > 
> > GDAL is now configured for x86_64-unknown-linux-gnu
> > 
> >   Installation directory:    /path/to/src/gdal-2.0.1/build
> >   C compiler:   			 icc -g -Wall
> >   C++ compiler:   		   icpc -g -O2
> >   
> >   LIBTOOL support:   	    yes
> >   
> >   LIBZ support:   		   external
> >   LIBLZMA support:   	    no
> >   GRASS support:   		  no
> >   CFITSIO support:   	    no
> >   PCRaster support:   	   internal
> >   LIBPNG support:   		 internal
> >   DDS support:   		    no
> >   GTA support:   		    no
> >   LIBTIFF support:   	    internal (BigTIFF=yes)
> >   LIBGEOTIFF support:   	 internal
> >   LIBJPEG support:   	    internal
> >   12 bit JPEG:   		    yes
> >   12 bit JPEG-in-TIFF:  	 yes
> >   LIBGIF support:   		 internal
> >   OGDI support:   		   no
> >   HDF4 support:   		   no
> >   HDF5 support:   		   yes
> >   Kea support:   		    no
> >   NetCDF support:   		 yes
> >   Kakadu support:   		 no
> >   JasPer support:   		 yes (GeoJP2=no)
> >   OpenJPEG support:   	   no
> >   ECW support:   		    no
> >   MrSID support:   		  no
> >   MrSID/MG4 Lidar support:   no
> >   MSG support:   		    no
> >   GRIB support:   		   yes
> >   EPSILON support:   	    no
> >   WebP support:   		   no
> >   cURL support (wms/wcs/...):yes
> >   PostgreSQL support:   	 no
> >   MySQL support:   		  no
> >   Ingres support:   		 no
> >   Xerces-C support:   	   no
> >   NAS support:   		    no
> >   Expat support:   		  yes
> >   libxml2 support:   	    yes
> >   Google libkml support:     no
> >   ODBC support:   		   no
> >   PGeo support:   		   no
> >   FGDB support:   		   no
> >   MDB support:   		    no
> >   PCIDSK support:   		 internal
> >   OCI support:   		    no
> >   GEORASTER support:   	  no
> >   SDE support:   		    no
> >   Rasdaman support:   	   no
> >   DODS support:   		   no
> >   SQLite support:   		 yes
> >   PCRE support:   		   no
> >   SpatiaLite support:   	 no
> >   DWGdirect support   	   no
> >   INFORMIX DataBlade support:no
> >   GEOS support:   		   yes
> >   Poppler support:   	    no
> >   Podofo support:   		 no
> >   OpenCL support:   		 no
> >   Armadillo support:   	  no
> >   FreeXL support:   		 no
> >   SOSI support:   		   no
> >   
> >   
> >   SWIG Bindings:   		  no
> >   
> >   Statically link PROJ.4:    yes
> >   enable OGR building:  	 yes
> >   enable pthread support:    yes
> >   enable POSIX iconv support:yes
> >   hide internal symbols:     no
> > 
> > make -j8 went through without errors, but make install does that
> > again:
> > 
> > 
> > 
> > [132 at l32 gdal-2.0.1]$ make install
> > (cd port; make)
> > make[1]: Entering directory `/path/to/src/gdal-2.0.1/port'
> > make[1]: Nothing to be done for `default'.
> > make[1]: Leaving directory `/path/to/src/gdal-2.0.1/port'
> > (cd gcore; make)
> > make[1]: Entering directory `/path/to/src/gdal-2.0.1/gcore'
> > make -C mdreader
> > make[2]: Entering directory `/path/to/src/gdal-2.0.1/gcore/mdreader'
> > make[2]: Nothing to be done for `default'.
> > make[2]: Leaving directory `/path/to/src/gdal-2.0.1/gcore/mdreader'
> > make[1]: Leaving directory `/path/to/src/gdal-2.0.1/gcore'
> > (cd alg; make)
> > make[1]: Entering directory `/path/to/src/gdal-2.0.1/alg'
> > /bin/sh /path/to/src/gdal-2.0.1/libtool --mode=compile --tag=CXX icpc
> > -I/path/to/src/gdal-2.0.1/port -I/path/to/src/gdal-2.0.1/gcore
> > -I/path/to/src/gdal-2.0.1/alg -I/path/to/src/gdal-2.0.1/ogr
> > -I/path/to/src/gdal-2.0.1/ogr/ogrsf_frmts -g -O2  -Wall  -DHAVE_GEOS=1
> > -I/path/to/src/geos-3.4.2/build/include -DHAVE_SSE_AT_COMPILE_TIME
> > -DOGR_ENABLED -I/path/to/src/gdal-2.0.1/port
> > -I/path/to/src/netcdf-4.3.3.1/build/include  -DGDAL_COMPILATION  -c -o
> > thinplatespline.lo thinplatespline.cpp
> > libtool: compile:  icpc -I/path/to/src/gdal-2.0.1/port
> > -I/path/to/src/gdal-2.0.1/gcore -I/path/to/src/gdal-2.0.1/alg
> > -I/path/to/src/gdal-2.0.1/ogr -I/path/to/src/gdal-2.0.1/ogr/ogrsf_frmts
> > -g -O2 -Wall -DHAVE_GEOS=1 -I/path/to/src/geos-3.4.2/build/include
> > -DHAVE_SSE_AT_COMPILE_TIME -DOGR_ENABLED -I/path/to/src/gdal-2.0.1/port
> > -I/path/to/src/netcdf-4.3.3.1/build/include -DGDAL_COMPILATION -c
> > thinplatespline.cpp  -fPIC -DPIC -o .libs/thinplatespline.o
> > ": internal error: 010101_3007
> > 
> > compilation aborted for thinplatespline.cpp (code 4)
> > make[1]: *** [thinplatespline.lo] Error 1
> > make[1]: Leaving directory `/path/to/src/gdal-2.0.1/alg'
> > make: *** [core-target] Error 2
> > 
> > 
> > Any other ideas?
> 
> Perhaps... Apart from cursing the buggy compiler (if it is an uptodate
> version of it, you might want to report to the vendor as it is a shame it
> aborts on this), you might try to replace the following line of
> alg/thinplatespline.cpp, aroud line 125
> 
> #if defined(__GNUC__) && defined(__x86_64__)
> 
> by
> 
> #if 0
> 
> This will disable an optimization, which is the trickiest part of that
> file.

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


More information about the gdal-dev mailing list