Skip to content
Commits on Source (8)
......@@ -121,7 +121,7 @@ GDAL_INCLUDE = -I$(GDAL_ROOT)/port -I$(GDAL_ROOT)/gcore \
# libtool targets and help variables
LIBGDAL := libgdal.la
LIBGDAL_CURRENT := 24
LIBGDAL_REVISION := 0
LIBGDAL_REVISION := 1
LIBGDAL_AGE := 4
# native build targets and variables
......
......@@ -311,5 +311,5 @@ gdal.pc: gdal.pc.in GDALmake.opt ./GNUmakefile VERSION
echo 'CONFIG_INST_PREFIX=$(INST_PREFIX)' >> gdal.pc
echo 'CONFIG_INST_LIBS=$(CONFIG_LIBS_INS)' >> gdal.pc
echo 'CONFIG_INST_CFLAGS=-I$(INST_INCLUDE)' >> gdal.pc
echo 'CONFIG_INST_DATA=$(INST_DATA)/data' >> gdal.pc
echo 'CONFIG_INST_DATA=$(INST_DATA)' >> gdal.pc
cat gdal.pc.in >> gdal.pc
= GDAL/OGR 2.3.1 Release Notes =
The 2.3.1 release is a bug fix release.
== Build ==
All:
* Fix build with recent Poppler (0.64) (#573)
* PDF driver: fix build against PDFium (#612)
* Do not use json-c private API in RDA and AmigoCloud drvers (#618)
* fix build against MySQL 8.0
* Include gdalsse_priv.h from user defined paths
Unix:
* update GRASS drivers to support GRASS 7.4.0 (#633)
* configure: use CXXFLAGS when CXX is used (#693)
Windows:
* MBTILES: remove extra parenthesis around $(ZLIB_FLAGS)
* NMAKE: copy gdal pdb to $(LIBDIR) in libinstall target
* NMAKE: Enable friendlier static library builds: DLL_BUILD can be set to 0
== Port ==
* cpl_port.h: avoid compilation error when compiling GMT's gmtdigitize.c that defines _XOPEN_SOURCE to empty (#590)
* gdal_pc: fix CONFIG_INST_DATA (#609)
* /vsioss/: fix support of filenames with spaces
* /vsis3/: fix VSIStatL() on a directory (#603)
* /vsitar/: support headers with fields using star base-256 coding (#675)
* /vsizip/: fix memory leaks in error code paths on file opening (#699)
* /vsigs/, /vsiaz/, /vsioss/: fix signature issues related to Date HTTP header, when non-C locale is enabled
* Installed headers: re-install cpl_vsi_error.h
== GDAL core ==
* GDALProxyPoolDataset constructor: fix inverted logic related to projection
* GDALGetJPEG2000Structure(): avoid excessive memory allocation. (oss-fuzz#8268)
* Overview: fix wrong computation of source pixel indices for AVERAGE and pixel-interleave bands
== GDAL utilities ==
* gdal_contour: avoid out-of-memory situation (#594)
* gdal_merge.py: apply NaN check for raster copy
* gdal_retile.py: fix rounding issues when computing source and target regions (#670)
== GDAL algorithms ==
* OpenCL wrapper: fix memory leak
== GDAL drivers ==
EHdr driver:
* fix creation of large enough drivers (#705)
ENVI driver:
* fix creation of large enough drivers (#705)
ERS driver:
* avoid potential stack overflow (oss-fuzz#8614)
* avoid infinite recursion (oss-fuzz#8744)
* avoid potential bad cast (oss-fuzz#8745)
FIT driver:
* avoid excessive block size on creation (oss-fuzz#8292)
GPKG driver:
* fix memory leak if errors on writing metadata
GRIB driver:
* g2clib: avoid potential out of bound access (CID 1393528)
GTiff driver:
* Internal libgeotiff: when rewriting a ASCII key with a string value longer than the original value, do not add a dummy "0 0 0 0" entry in the GeoKeyDirectory (#641)
* work-around above mentionned libgeotiff bug (#641)
* avoid various memory corruptions when reading some corrupted file (oss-fuzz#8488)
HDF5 driver:
* fix reading variable names with single character (#622)
IRIS driver:
* avoid infinite loop (oss-fuzz#8256, oss-fuzz#8439)
ISCE driver:
* fix creation of large enough drivers (#705)
PCRaster driver:
* libcsf: avoid potential out of bound access (CID 1074445)
PostgisRaster driver:
* add support for out-db rasters (Trac #3234)
* improve performance of line by line reading
RS2 driver:
* fix avoid potential memleak (CID 1393537, CID 1393534, CID 1074387)
SGI driver:
* avoid out-of-bound buffer access (oss-fuzz#8889)
USGSDEM driver:
* fix reading of Benicia.dem and Novato.dem (fixes trac #4901, github #583)
* avoid potential out-of-bounds access (CID 1393532)
WCS driver:
* avoid null pointer dereference (#648)
== OGR core ==
* OGRLineString::TransferMembersAndDestroy(): fix crashing issue with M component. (oss-fuzz#8773)
* OGRSQL evaluation: avoid too deep recursion. (oss-fuzz#8836)
* OGRGeometry::exportToGEOS(): fix potential out-of-bounds write on some GeometryCollection with TIN/PolyhedralSurface (#688)
== OGRSpatialReference ==
* Validation: fix wrong values in papszProjectionDefinitions array, affecting Stereographic, Krovak, and Two_Point_Equidistant
* Validation: add missing parameter names in papszParameterDefinitions array
* MorphToESRI(): avoid potential heap use-after-free (#696)
== OGR drivers ==
AVCE00 driver:
* avoid perforance issues on huge lines (oss-fuzz#8284)
BNA driver:
* refuse to open existing file in update mode, since it causes later crashes when attempting to add new features (fixes https://issues.qgis.org/issues/18563)
CSV driver:
* in writing, use WKT instead of actual geometry column name if GEOMETRY=AS_WKT mode is used without CREATE_CSVT=YES (#660)
DXF driver:
* avoid null pointer dereference when DXF_MAX_BSPLINE_CONTROL_POINTS is hit (oss-fuzz#8254)
GeoJSON driver:
* properly flush the file in SyncToDisk() in append situations (relates to https://issues.qgis.org/issues/18596)
* fix type deduction when there is a Feature.id of type string and Feature.properties.id of type int (#669)
GMT:
* avoid performance issue when opening layer with big number of fields. (oss-fuzz#8259)
GPKG driver:
* take into ROLLBACK TO SAVEPOINT to invalidate cached feature count
* GPKG/SQLite: make sure to not invalidate POSIX advisory locks
MSSQLSpatial driver:
* Fix layer-schema separation problem (#586)
* Fix bulk copy for multiple layers (#619)
MVT driver:
* writer: do not skip Z/M/ZM geometries, just keep their XY coordinates
VFK driver:
* create index on ID column only for selected (geometry-related) layers (#498)
* create db indices after inserting data and befor resolving geometrys (#498)
* avoid bigint overflow, force text attributes (PODIL_CITATEL/PODIL_JMENOVATEL) (#672)
WFS3 driver:
* update to current version of the API draft (#626)
* remove legacy hack for feature paging that can cause endless loops
XLSX driver:
* avoid stack buffer overflow is creating too many fields (oss-fuzz#8198)
* avoid timeout (oss-fuzz#8225)
* fix null pointer dereference (oss-fuzz#8286)
== SWIG bindings ==
Java bindings:
* Javadoc updates
* update to Java 1.6 requirement to please 'ant maven' target
Perl bindings:
* require wrappers to be made before proceeding make (fixes #643).
Python bindings:
* fixed NULL check on VSIFReadL (#572)
= GDAL/OGR 2.3.0 Release Notes =
 
Note: due to the change of SCM during the development, #XXXX still refers to
......@@ -30,7 +205,7 @@ Trac tickets. GitHub tickets are explicitly indicated with github #XXXX
* Command line utilities: use Unicode main on Windows to avoid issues with non-ASCII characters (#7065)
* Update to EPSG v9.2 (#7125)
* Update data/esri_extra.wkt and add data/esri_epsg.wkt, taken from https://github.com/Esri/projection-engine-db-doc (Apache v2 license) (#2163)
* Add support for PROJ.5 new API (requires proj 5.0.1 or later)
* Add support for PROJ.5 new API (requires proj 5.0.1 or later). PROJ 4.X is still supported.
* More than 1000 fixes for issues/vulnerabilities found by OSS-Fuzz
* Remove raster OGDI driver (vector OGDI driver still there) (#7087)
 
......
......@@ -42,10 +42,11 @@
#include "cpl_vsi.h"
#include "gdal.h"
#include "gdal_priv.h"
#include "gdal_priv_templates.hpp"
#include "ogr_api.h"
#include "ogr_core.h"
CPL_CVSID("$Id: contour.cpp 9ff327806cd64df6d73a6c91f92d12ca0c5e07df 2018-04-07 20:25:06 +0200 Even Rouault $")
CPL_CVSID("$Id: contour.cpp 8ee787afde31c77a0420e7fdfcf083a563450258 2018-05-08 16:25:14 +0200 Even Rouault $")
// The amount of a contour interval that pixels should be fudged by if they
// match a contour level exactly.
......@@ -547,10 +548,20 @@ CPLErr GDALContourGenerator::ProcessRect(
// Otherwise figure out the start and end using the base and offset.
else
{
iStartLevel = static_cast<int>(
ceil((dfMin - dfContourOffset) / dfContourInterval));
iEndLevel = static_cast<int>(
floor((dfMax - dfContourOffset) / dfContourInterval));
const double dfStartLevel =
ceil((dfMin - dfContourOffset) / dfContourInterval);
const double dfEndLevel =
floor((dfMax - dfContourOffset) / dfContourInterval);
if( !GDALIsValueInRange<int>(dfStartLevel) ||
!GDALIsValueInRange<int>(dfEndLevel) )
{
CPLError(CE_Failure, CPLE_NotSupported,
"Range of levels [%g,%g] not supported",
dfStartLevel, dfEndLevel);
return CE_Failure;
}
iStartLevel = static_cast<int>(dfStartLevel);
iEndLevel = static_cast<int>(dfStartLevel);
}
if( iStartLevel > iEndLevel )
......
......@@ -50,7 +50,7 @@
// Limit types to practical use cases.
#define LIMIT_TYPES 1
CPL_CVSID("$Id: gdalpansharpen.cpp 9ff327806cd64df6d73a6c91f92d12ca0c5e07df 2018-04-07 20:25:06 +0200 Even Rouault $")
CPL_CVSID("$Id: gdalpansharpen.cpp 80bae6ae660f1b7509c5c7a1ce7c825eacbc905f 2018-05-25 08:13:12 +0200 Even Rouault $")
/************************************************************************/
/* GDALCreatePansharpenOptions() */
......@@ -554,7 +554,7 @@ void GDALPansharpenOperation::WeightedBrovey3(
/* Could possibly be used too on 32bit, but we would need to check at runtime */
#if defined(__x86_64) || defined(_M_X64)
#include <gdalsse_priv.h>
#include "gdalsse_priv.h"
template<class T, int NINPUT, int NOUTPUT>
int GDALPansharpenOperation::WeightedBroveyPositiveWeightsInternal(
......
......@@ -59,7 +59,7 @@
// We restrict to 64bit processors because they are guaranteed to have SSE2.
// Could possibly be used too on 32bit, but we would need to check at runtime.
#if defined(__x86_64) || defined(_M_X64)
#include <gdalsse_priv.h>
#include "gdalsse_priv.h"
#if __SSE4_1__
#include <smmintrin.h>
......@@ -71,7 +71,7 @@
#endif
CPL_CVSID("$Id: gdalwarpkernel.cpp 9ff327806cd64df6d73a6c91f92d12ca0c5e07df 2018-04-07 20:25:06 +0200 Even Rouault $")
CPL_CVSID("$Id: gdalwarpkernel.cpp 80bae6ae660f1b7509c5c7a1ce7c825eacbc905f 2018-05-25 08:13:12 +0200 Even Rouault $")
constexpr double BAND_DENSITY_THRESHOLD = 0.0000000001;
constexpr float SRC_DENSITY_THRESHOLD = 0.000000001f;
......
/******************************************************************************
* $Id: gdalwarpkernel_opencl.cpp ca76710dc9c6dab9893995d2a0ab51c93dc02bbd 2018-01-23 12:39:57Z Even Rouault $
* $Id: gdalwarpkernel_opencl.cpp 954f08fbdfb979ce26329fefa4fb2b07240a1ca2 2018-05-12 08:21:45 +0800 liminlu $
*
* Project: OpenCL Image Reprojector
* Purpose: Implementation of the GDALWarpKernel reprojector in OpenCL.
......@@ -42,7 +42,7 @@
#include "cpl_string.h"
#include "gdalwarpkernel_opencl.h"
CPL_CVSID("$Id: gdalwarpkernel_opencl.cpp ca76710dc9c6dab9893995d2a0ab51c93dc02bbd 2018-01-23 12:39:57Z Even Rouault $")
CPL_CVSID("$Id: gdalwarpkernel_opencl.cpp 954f08fbdfb979ce26329fefa4fb2b07240a1ca2 2018-05-12 08:21:45 +0800 liminlu $")
#define handleErr(err) if((err) != CL_SUCCESS) { \
CPLError(CE_Failure, CPLE_AppDefined, "Error at file %s line %d: %s", __FILE__, __LINE__, getCLErrorString(err)); \
......@@ -1813,12 +1813,13 @@ cl_int execute_kern(struct oclWarper *warper, cl_kernel kern, size_t loc_size)
sizeof(size_t), &end_time, nullptr));
assert(end_time != 0);
assert(start_time != 0);
handleErr(err = clReleaseEvent(ev));
if (kern == warper->kern4)
vecTxt = "(vec)";
CPLDebug("OpenCL", "Kernel Time: %6s %10lu", vecTxt, (long int)((end_time-start_time)/100000));
#endif
handleErr(err = clReleaseEvent(ev));
return CL_SUCCESS;
}
......
......@@ -3,20 +3,22 @@
set -e
sudo mv /etc/apt/sources.list.d/pgdg* /tmp
sudo apt-get remove postgis libpq5 libpq-dev postgresql-9.1-postgis postgresql-9.1-postgis-2.2-scripts postgresql-9.2-postgis postgresql-9.3-postgis postgresql-9.1 postgresql-9.2 postgresql-9.3 libgdal1
#sudo apt-get remove postgis libpq5 libpq-dev postgresql-9.1-postgis postgresql-9.1-postgis-2.2-scripts postgresql-9.2-postgis postgresql-9.3-postgis postgresql-9.1 postgresql-9.2 postgresql-9.3 libgdal1
sudo add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable
#sudo add-apt-repository -y ppa:marlam/gta
sudo apt-get update -qq
sudo apt-get install python-numpy postgis postgresql-9.1 postgresql-client-9.1 postgresql-9.1-postgis-2.1 postgresql-9.1-postgis-2.1-scripts libpq-dev libpng12-dev libjpeg-dev libgif-dev liblzma-dev libgeos-dev libcurl4-gnutls-dev libproj-dev libxml2-dev libexpat-dev libxerces-c-dev libnetcdf-dev netcdf-bin libpoppler-dev libspatialite-dev gpsbabel swig libhdf4-alt-dev libhdf5-serial-dev libpodofo-dev poppler-utils libfreexl-dev unixodbc-dev libwebp-dev openjdk-7-jdk libepsilon-dev liblcms2-2 libpcre3-dev mercurial cmake libcrypto++-dev
# postgis postgresql-9.1 postgresql-client-9.1 postgresql-9.1-postgis-2.1 postgresql-9.1-postgis-2.1-scripts
# libproj-dev libfreexl-dev
sudo apt-get install python-numpy libpq-dev libpng12-dev libjpeg-dev libgif-dev liblzma-dev libgeos-dev libcurl4-gnutls-dev libxml2-dev libexpat-dev libxerces-c-dev libnetcdf-dev netcdf-bin libpoppler-dev libspatialite-dev gpsbabel swig libhdf4-alt-dev libhdf5-serial-dev libpodofo-dev poppler-utils unixodbc-dev libwebp-dev openjdk-7-jdk libepsilon-dev liblcms2-2 libpcre3-dev mercurial cmake libcrypto++-dev
# libgta-dev
sudo apt-get install python-lxml
sudo apt-get install python-pip
sudo apt-get install libogdi3.2-dev
#sudo apt-get install libogdi3.2-dev
# Boost for Mongo
#sudo apt-get install libboost-regex-dev libboost-system-dev libboost-thread-dev
psql -c "drop database if exists autotest" -U postgres
psql -c "create database autotest" -U postgres
psql -c "create extension postgis" -d autotest -U postgres
#psql -c "drop database if exists autotest" -U postgres
#psql -c "create database autotest" -U postgres
#psql -c "create extension postgis" -d autotest -U postgres
mysql -e "create database autotest;"
mysql -e "GRANT ALL ON autotest.* TO 'root'@'localhost';" -u root
mysql -e "GRANT ALL ON autotest.* TO 'travis'@'localhost';" -u root
......
......@@ -11,6 +11,24 @@ export ASAN_OPTIONS=allocator_may_return_null=1
cd gdal
export CCACHE_CPP2=yes
# build proj
curl http://download.osgeo.org/proj/proj-4.9.3.tar.gz > proj-4.9.3.tar.gz
tar xvzf proj-4.9.3.tar.gz
cd proj-4.9.3/nad
curl http://download.osgeo.org/proj/proj-datumgrid-1.5.tar.gz > proj-datumgrid-1.5.tar.gz
tar xvzf proj-datumgrid-1.5.tar.gz
cd ..
CC="ccache gcc" CXX="ccache g++ " ./configure --prefix=/usr
make -j3
sudo make install
cd ..
sudo rm /usr/lib/libproj.so.0 /usr/lib/libproj.so.0.7.0
sudo ln -s /usr/lib/libproj.so.12 /usr/lib/libproj.so.0
sudo ln -s /usr/lib/libproj.so.12 /usr/lib/libproj.so.0.7.0
sudo ldconfig
ls -al /usr/lib/libproj*
# Disable --with-fgdb=/usr/local since it causes /usr/local/include/GeodatabaseManagement.h:56:1: error: expected constructor, destructor, or type conversion before ‘(’ token EXT_FILEGDB_API fgdbError CreateGeodatabase(const std::wstring& path, Geodatabase& geodatabase);
# Disable --with-mongocxx=/usr/local since it should also likely be compiled with C+11, but this fails because boost itself should probably be
CC="ccache gcc" CXX="ccache g++ " CPPFLAGS="-DMAKE_SANITIZE_HAPPY -fsanitize=undefined -fsanitize=address" LDFLAGS="-fsanitize=undefined -fsanitize=address" ./configure --with-cpp14 --prefix=/usr --without-libtool --enable-debug --with-jpeg12 --with-poppler --without-podofo --with-spatialite --with-mysql --with-liblzma --with-webp --with-epsilon --with-ecw=/usr/local --with-libtiff=internal --with-rename-internal-libtiff-symbols --with-hide-internal-symbols --with-gnm
......
......@@ -34,16 +34,17 @@ cd ../autotest
#unzip PGeoTest.zip
#cd ../../..
# Run ogr_fgdb.py in isolation from the rest
cd ogr
#python ogr_fgdb.py
(cd ogr
mkdir disabled
mv ogr_fgdb.* disabled
cd ..
)
# Run ogr_pgeo.py in isolation from the rest
cd ogr
#python ogr_pgeo.py
mv ogr_pgeo.* disabled
cd ..
(cd ogr && mv ogr_pgeo.* disabled)
# Too old spatialite version
(cd ogr && mv ogr_sqlite.* disabled)
(cd gdrivers && mkdir disabled && mv rasterlite.* disabled)
# Run all the Python autotests
SKIP_MEM_INTENSIVE_TEST=YES SKIP_VIRTUALMEM=YES LD_PRELOAD=$PRELOAD ASAN_OPTIONS=detect_leaks=0 GDALTEST_ASAN_OPTIONS=detect_leaks=1,print_suppressions=0,suppressions=$PWD/asan_suppressions.txt python run_all.py -run_as_external
# A bit messy, but force testing with libspatialite 4.0dev (that has been patched a bit to remove any hard-coded SRS definition so it is very small)
......
#!/bin/sh
set -e
sudo mv /etc/apt/sources.list.d/pgdg* /tmp
sudo apt-get remove postgis libpq5 libpq-dev postgresql-9.1-postgis postgresql-9.1-postgis-2.2-scripts postgresql-9.2-postgis postgresql-9.3-postgis postgresql-9.1 postgresql-9.2 postgresql-9.3 libgdal1
sudo add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
#sudo add-apt-repository -y ppa:marlam/gta
sudo apt-get update -qq
sudo apt-get install ccache python-numpy postgis postgresql-9.1 postgresql-client-9.1 postgresql-9.1-postgis-2.1 postgresql-9.1-postgis-2.1-scripts libpq-dev libpng12-dev libjpeg-dev libgif-dev liblzma-dev libgeos-dev libcurl4-gnutls-dev libproj-dev libxml2-dev libexpat-dev libxerces-c-dev libnetcdf-dev netcdf-bin libpoppler-dev libspatialite-dev gpsbabel swig libhdf4-alt-dev libhdf5-serial-dev libpodofo-dev poppler-utils libfreexl-dev unixodbc-dev libwebp-dev openjdk-7-jdk libepsilon-dev liblcms2-2 libpcre3-dev mercurial cmake libcrypto++-dev
# libgta-dev
sudo apt-get install python-lxml
sudo apt-get install python-pip
sudo apt-get install libogdi3.2-dev
# Boost for Mongo
sudo apt-get install libboost-regex-dev libboost-system-dev libboost-thread-dev
sudo apt-get install gcc-4.8 g++-4.8
sudo pip install pyflakes
sudo apt-get install doxygen texlive-latex-base
pyflakes autotest
pyflakes gdal/swig/python/scripts
pyflakes gdal/swig/python/samples
psql -c "drop database if exists autotest" -U postgres
psql -c "create database autotest" -U postgres
psql -c "create extension postgis" -d autotest -U postgres
mysql -e "create database autotest;"
mysql -e "GRANT ALL ON autotest.* TO 'root'@'localhost';" -u root
mysql -e "GRANT ALL ON autotest.* TO 'travis'@'localhost';" -u root
wget http://s3.amazonaws.com/etc-data.koordinates.com/gdal-travisci/FileGDB_API_1_2-64.tar.gz
wget http://s3.amazonaws.com/etc-data.koordinates.com/gdal-travisci/MrSID_DSDK-8.5.0.3422-linux.x86-64.gcc44.tar.gz
wget http://s3.amazonaws.com/etc-data.koordinates.com/gdal-travisci/install-libecwj2-ubuntu12.04-64bit.tar.gz
wget http://s3.amazonaws.com/etc-data.koordinates.com/gdal-travisci/install-libkml-r864-64bit.tar.gz
wget https://github.com/uclouvain/openjpeg/releases/download/v2.3.0/openjpeg-v2.3.0-linux-x86_64.tar.gz
wget http://even.rouault.free.fr/mongo-cxx-1.0.2-install-ubuntu12.04-64bit.tar.gz
tar xzf MrSID_DSDK-8.5.0.3422-linux.x86-64.gcc44.tar.gz
sudo cp -r MrSID_DSDK-8.5.0.3422-linux.x86-64.gcc44/Raster_DSDK/include/* /usr/local/include
sudo cp -r MrSID_DSDK-8.5.0.3422-linux.x86-64.gcc44/Raster_DSDK/lib/* /usr/local/lib
sudo cp -r MrSID_DSDK-8.5.0.3422-linux.x86-64.gcc44/Lidar_DSDK/include/* /usr/local/include
sudo cp -r MrSID_DSDK-8.5.0.3422-linux.x86-64.gcc44/Lidar_DSDK/lib/* /usr/local/lib
tar xzf FileGDB_API_1_2-64.tar.gz
sudo cp -r FileGDB_API/include/* /usr/local/include
sudo cp -r FileGDB_API/lib/* /usr/local/lib
tar xzf install-libecwj2-ubuntu12.04-64bit.tar.gz
sudo cp -r install-libecwj2/include/* /usr/local/include
sudo cp -r install-libecwj2/lib/* /usr/local/lib
tar xzf install-libkml-r864-64bit.tar.gz
sudo cp -r install-libkml/include/* /usr/local/include
sudo cp -r install-libkml/lib/* /usr/local/lib
tar xzf openjpeg-v2.3.0-linux-x86_64.tar.gz
sudo cp -r openjpeg-v2.3.0-linux-x86_64/include/* /usr/local/include
sudo cp -r openjpeg-v2.3.0-linux-x86_64/lib/* /usr/local/lib
tar xzf mongo-cxx-1.0.2-install-ubuntu12.04-64bit.tar.gz
sudo cp -r mongo-cxx-1.0.2-install/include/* /usr/local/include
sudo cp -r mongo-cxx-1.0.2-install/lib/* /usr/local/lib
wget https://bitbucket.org/chchrsc/kealib/get/c6d36f3db5e4.zip
unzip c6d36f3db5e4.zip
cd chchrsc-kealib-c6d36f3db5e4/trunk
cmake . -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX=/usr -DHDF5_INCLUDE_DIR=/usr/include -DHDF5_LIB_PATH=/usr/lib -DLIBKEA_WITH_GDAL=OFF
make -j4
sudo make install
cd ../..
sudo ldconfig
#!/bin/sh
set -e
cd gdal
export CCACHE_CPP2=yes
scripts/detect_tabulations.sh
scripts/detect_printf.sh
scripts/detect_self_assignment.sh
scripts/detect_suspicious_char_digit_zero.sh
CC="ccache gcc-4.8" CXX="ccache g++-4.8" ./configure --prefix=/usr --without-libtool --without-cpp11 --enable-debug --with-jpeg12 --with-python --with-poppler --with-podofo --with-spatialite --with-mysql --with-liblzma --with-webp --with-java --with-mdb --with-jvm-lib-add-rpath --with-epsilon --with-ecw=/usr/local --with-mrsid=/usr/local --with-mrsid-lidar=/usr/local --with-fgdb=/usr/local --with-libkml --with-mongocxx=/usr/local
# --with-gta
make docs >docs_log.txt 2>&1
if cat docs_log.txt | grep -i warning | grep -v russian | grep -v brazilian; then echo "Doxygen warnings found" && cat docs_log.txt && /bin/false; else echo "No Doxygen warnings found"; fi
make man >man_log.txt 2>&1
if cat man_log.txt | grep -i warning; then echo "Doxygen warnings found" && cat docs_log.txt && /bin/false; else echo "No Doxygen warnings found"; fi
make USER_DEFS="-Wextra -Werror" -j3
cd apps
make USER_DEFS="-Wextra -Werror" test_ogrsf
cd ..
cd swig/java
cp java.opt java.opt.bak
cat java.opt | sed "s/JAVA_HOME =.*/JAVA_HOME = \/usr\/lib\/jvm\/java-7-openjdk-amd64\//" > java.opt.tmp
mv java.opt.tmp java.opt
make
mv java.opt.bak java.opt
cd ../..
cd swig/perl
make generate
make
cd ../..
sudo rm -f /usr/lib/libgdal.so*
sudo make install
sudo ldconfig
cd ../autotest/cpp
make -j3
cd ../../gdal
wget https://storage.googleapis.com/google-code-archive-downloads/v2/code.google.com/mdb-sqlite/mdb-sqlite-1.0.2.tar.bz2
tar xjvf mdb-sqlite-1.0.2.tar.bz2
sudo cp mdb-sqlite-1.0.2/lib/*.jar /usr/lib/jvm/java-7-openjdk-amd64/jre/lib/ext
#!/bin/sh
set -e
cd gdal
# When run in the same process after ogr_pgeo.py (with the MDB driver), FileGDB tests fail.
# Run it in isolation
# Perl unit tests
cd swig/perl
make test
cd ../..
# Java unit tests
cd swig/java
make test
cd ../..
# CPP unit tests
cd ../autotest
cd cpp
GDAL_SKIP=JP2ECW make quick_test
# Compile and test vsipreload
make vsipreload.so
LD_PRELOAD=./vsipreload.so gdalinfo /vsicurl/http://download.osgeo.org/gdal/data/ecw/spif83.ecw
LD_PRELOAD=./vsipreload.so sqlite3 /vsicurl/http://download.osgeo.org/gdal/data/sqlite3/polygon.db "select * from polygon limit 10"
cd ..
# Download a sample file
mkdir -p ogr/tmp/cache/
cd ogr/tmp/cache/
wget http://download.osgeo.org/gdal/data/pgeo/PGeoTest.zip
unzip PGeoTest.zip
cd ../../..
# Run ogr_fgdb.py in isolation from the rest
cd ogr
python ogr_fgdb.py
mkdir disabled
mv ogr_fgdb.* disabled
cd ..
# Run ogr_pgeo.py in isolation from the rest
cd ogr
python ogr_pgeo.py
mv ogr_pgeo.* disabled
cd ..
# ABI issue with mongodb
cd ogr
mv ogr_mongodb.* disabled
cd ..
# Run all the Python autotests
GDAL_SKIP="JP2ECW ECW" python run_all.py
# A bit messy, but force testing with libspatialite 4.0dev (that has been patched a bit to remove any hard-coded SRS definition so it is very small)
cd ogr
wget http://s3.amazonaws.com/etc-data.koordinates.com/gdal-travisci/libspatialite4.0dev_ubuntu12.04-64bit_srs_stripped.tar.gz
tar xzf libspatialite4.0dev_ubuntu12.04-64bit_srs_stripped.tar.gz
ln -s install-libspatialite-4.0dev/lib/libspatialite.so.5.0.1 libspatialite.so.3
LD_LIBRARY_PATH=$PWD python ogr_sqlite.py
cd ..
git checkout ogr/ogr_fgdb.py
git checkout ogr/ogr_pgeo.py
git checkout ogr/ogr_mongodb.py
if test `git diff | wc -l` != "0"; then
echo "Files have been modified duing testsuite run:"
git diff
exit 1
fi
......@@ -2,31 +2,36 @@
set -e
sudo dpkg -l | grep geos
sudo apt-get purge -y libgeos* libspatialite*
find /etc/apt/sources.list.d
sudo mv /etc/apt/sources.list.d/pgdg* /tmp
sudo apt-get remove postgis libpq5 libpq-dev postgresql-9.1-postgis postgresql-9.1-postgis-2.2-scripts postgresql-9.2-postgis postgresql-9.3-postgis postgresql-9.1 postgresql-9.2 postgresql-9.3 libgdal1
#sudo apt-get remove postgis libpq5 libpq-dev postgresql-9.1-postgis postgresql-9.2-postgis postgresql-9.3-postgis postgresql-9.1 postgresql-9.2 postgresql-9.3 libgdal1
#sudo apt-get remove -y postgresql-9.1
sudo add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable
sudo add-apt-repository -y ppa:ubuntu-toolchain-r/test
#sudo add-apt-repository -y ppa:marlam/gta
sudo apt-get update -qq
sudo apt-get install ccache python3 python3-dev python3-numpy postgis postgresql-9.1 postgresql-client-9.1 postgresql-9.1-postgis-2.1 postgresql-9.1-postgis-2.1-scripts libpq-dev libpng12-dev libjpeg-dev libgif-dev liblzma-dev libgeos-dev libcurl4-gnutls-dev libproj-dev libxml2-dev libexpat-dev libxerces-c-dev libnetcdf-dev netcdf-bin libpoppler-dev libspatialite-dev gpsbabel swig libhdf4-alt-dev libhdf5-serial-dev libpodofo-dev poppler-utils libfreexl-dev unixodbc-dev libwebp-dev openjdk-7-jdk libepsilon-dev liblcms2-2 libpcre3-dev mercurial cmake libcrypto++-dev
sudo apt-get update
# postgis postgresql-9.5 postgresql-client-9.5 postgresql-9.5-postgis-2.2 libpq-dev
sudo apt-get install -y --allow-unauthenticated ccache python3-dev python3-numpy libpng12-dev libjpeg-dev libgif-dev liblzma-dev libgeos-dev libcurl4-gnutls-dev libproj-dev libxml2-dev libexpat-dev libxerces-c-dev libnetcdf-dev netcdf-bin libpoppler-dev libspatialite-dev gpsbabel swig libhdf4-alt-dev libhdf5-serial-dev libpodofo-dev poppler-utils libfreexl-dev unixodbc-dev libwebp-dev libepsilon-dev liblcms2-2 libpcre3-dev mercurial cmake libcrypto++-dev
# libgta-dev
sudo apt-get install python3-lxml
sudo apt-get install libogdi3.2-dev
sudo apt-get install -y python3-lxml
sudo apt-get install -y libqhull-dev
sudo apt-get install -y libogdi3.2-dev
# Boost for Mongo
sudo apt-get install libboost-regex-dev libboost-system-dev libboost-thread-dev
sudo apt-get install gcc-4.8 g++-4.8
psql -c "drop database if exists autotest" -U postgres
psql -c "create database autotest" -U postgres
psql -c "create extension postgis" -d autotest -U postgres
mysql -e "create database autotest;"
mysql -e "GRANT ALL ON autotest.* TO 'root'@'localhost';" -u root
mysql -e "GRANT ALL ON autotest.* TO 'travis'@'localhost';" -u root
#sudo apt-get install -y libboost-regex-dev libboost-system-dev libboost-thread-dev
#psql -c "drop database if exists autotest" -U postgres
#psql -c "create database autotest" -U postgres
#psql -c "create extension postgis" -d autotest -U postgres
#mysql -e "create database autotest;"
#mysql -e "GRANT ALL ON autotest.* TO 'root'@'localhost';" -u root
#mysql -e "GRANT ALL ON autotest.* TO 'travis'@'localhost';" -u root
wget http://s3.amazonaws.com/etc-data.koordinates.com/gdal-travisci/FileGDB_API_1_2-64.tar.gz
wget http://s3.amazonaws.com/etc-data.koordinates.com/gdal-travisci/MrSID_DSDK-8.5.0.3422-linux.x86-64.gcc44.tar.gz
wget http://s3.amazonaws.com/etc-data.koordinates.com/gdal-travisci/install-libecwj2-ubuntu12.04-64bit.tar.gz
wget http://s3.amazonaws.com/etc-data.koordinates.com/gdal-travisci/install-libkml-r864-64bit.tar.gz
wget https://github.com/uclouvain/openjpeg/releases/download/v2.3.0/openjpeg-v2.3.0-linux-x86_64.tar.gz
wget http://even.rouault.free.fr/mongo-cxx-1.0.2-install-ubuntu12.04-64bit.tar.gz
#wget http://even.rouault.free.fr/mongo-cxx-1.0.2-install-ubuntu12.04-64bit.tar.gz
tar xzf MrSID_DSDK-8.5.0.3422-linux.x86-64.gcc44.tar.gz
sudo cp -r MrSID_DSDK-8.5.0.3422-linux.x86-64.gcc44/Raster_DSDK/include/* /usr/local/include
sudo cp -r MrSID_DSDK-8.5.0.3422-linux.x86-64.gcc44/Raster_DSDK/lib/* /usr/local/lib
......@@ -44,9 +49,9 @@ sudo cp -r install-libkml/lib/* /usr/local/lib
tar xzf openjpeg-v2.3.0-linux-x86_64.tar.gz
sudo cp -r openjpeg-v2.3.0-linux-x86_64/include/* /usr/local/include
sudo cp -r openjpeg-v2.3.0-linux-x86_64/lib/* /usr/local/lib
tar xzf mongo-cxx-1.0.2-install-ubuntu12.04-64bit.tar.gz
sudo cp -r mongo-cxx-1.0.2-install/include/* /usr/local/include
sudo cp -r mongo-cxx-1.0.2-install/lib/* /usr/local/lib
#tar xzf mongo-cxx-1.0.2-install-ubuntu12.04-64bit.tar.gz
#sudo cp -r mongo-cxx-1.0.2-install/include/* /usr/local/include
#sudo cp -r mongo-cxx-1.0.2-install/lib/* /usr/local/lib
wget https://bitbucket.org/chchrsc/kealib/get/c6d36f3db5e4.zip
unzip c6d36f3db5e4.zip
cd chchrsc-kealib-c6d36f3db5e4/trunk
......@@ -54,4 +59,14 @@ cmake . -DBUILD_SHARED_LIBS=ON -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX
make -j4
sudo make install
cd ../..
# Build zstd
wget https://github.com/facebook/zstd/archive/v1.3.3.tar.gz
tar xvzf v1.3.3.tar.gz
cd zstd-1.3.3/lib
# Faster build
make -j3 PREFIX=/usr ZSTD_LEGACY_SUPPORT=0 CFLAGS=-O1
sudo make install PREFIX=/usr ZSTD_LEGACY_SUPPORT=0 CFLAGS=-O1
cd ../..
sudo ldconfig
#!/bin/sh
#!/bin/bash
set -e
cd gdal
# --with-mongocxx=/usr/local
export CCACHE_CPP2=yes
CC="ccache gcc-4.8" CXX="ccache g++-4.8" ./configure --prefix=/usr --without-libtool --enable-debug --with-jpeg12 --with-python=/usr/bin/python3 --with-poppler --with-podofo --with-spatialite --with-mysql --with-liblzma --with-webp --with-java --with-mdb --with-jvm-lib-add-rpath --with-epsilon --with-ecw=/usr/local --with-mrsid=/usr/local --with-mrsid-lidar=/usr/local --with-fgdb=/usr/local --with-libkml --with-mongocxx=/usr/local
CFLAGS=$ARCH_FLAGS CXXFLAGS=$ARCH_FLAGS CC="ccache clang" CXX="ccache clang" LDFLAGS="-lstdc++" ./configure --prefix=/usr --without-libtool --with-jpeg12 --with-python=/usr/bin/python3 --with-poppler --with-podofo --with-spatialite --with-mysql --with-liblzma --with-webp --with-java --with-mdb --with-jvm-lib-add-rpath --with-epsilon --with-ecw=/usr/local --with-mrsid=/usr/local --with-mrsid-lidar=/usr/local --with-fgdb=/usr/local --with-libkml --with-null -with-libtiff=internal
# --with-gta
# Those ln -s are weird but otherwise Python bindings build fail with clang not being found
sudo ln -s /usr/local/clang-3.5.0/bin/clang /usr/bin/clang
sudo ln -s /usr/local/clang-3.5.0/bin/clang++ /usr/bin/clang++
make USER_DEFS="-Wextra -Werror" -j3
cd apps
make USER_DEFS="-Wextra -Werror" test_ogrsf
cd ..
#cd swig/java
#cat java.opt | sed "s/JAVA_HOME =.*/JAVA_HOME = \/usr\/lib\/jvm\/java-7-openjdk-amd64\//" > java.opt.tmp
#mv java.opt.tmp java.opt
#make
#cd ../..
#cd swig/perl
#make generate
#make
#cd ../..
#sudo rm -f /usr/lib/libgdal.so*
(cd apps && make USER_DEFS="-Wextra -Werror" test_ogrsf)
(cd swig/java
sed -i.bak "s,JAVA_HOME =.*,JAVA_HOME = /usr/lib/jvm/java-8-openjdk-amd64/," java.opt
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/jre/bin:$PATH
java -version
make
mv java.opt.bak java.opt
)
cd swig/perl
make generate
make
cd ../..
sudo rm -f /usr/lib/libgdal.so*
sudo rm -f /usr/include/gdal*.h /usr/include/ogr*.h /usr/include/gnm*.h /usr/include/cpl*.h
sudo make install
sudo ldconfig
cd fuzzers
make USER_DEFS="-Wextra -Werror" -j3
cd tests
make USER_DEFS="-Wextra -Werror" -j3 check
cd ..
cd ..
cd ../autotest/cpp
make -j3
cd ../../gdal
......
......@@ -2,25 +2,29 @@
set -e
cd gdal
# When run in the same process after ogr_pgeo.py (with the MDB driver), FileGDB tests fail.
# Run it in isolation
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export PATH=$JAVA_HOME/jre/bin:$PATH
cd gdal
# Perl unit tests
#cd swig/perl
#make test
#cd ../..
cd swig/perl
make test
cd ../..
# Java unit tests
#cd swig/java
#make test
#cd ../..
cd swig/java
make test
cd ../..
# CPP unit tests
cd ../autotest
#cd cpp
#GDAL_SKIP=JP2ECW make quick_test
cd cpp
GDAL_SKIP=JP2ECW make quick_test
# Compile and test vsipreload
#make vsipreload.so
#LD_PRELOAD=./vsipreload.so gdalinfo /vsicurl/http://download.osgeo.org/gdal/data/ecw/spif83.ecw
#LD_PRELOAD=./vsipreload.so sqlite3 /vsicurl/http://download.osgeo.org/gdal/data/sqlite3/polygon.db "select * from polygon limit 10"
#cd ..
make vsipreload.so
LD_PRELOAD=./vsipreload.so gdalinfo /vsicurl/http://download.osgeo.org/gdal/data/ecw/spif83.ecw
LD_PRELOAD=./vsipreload.so sqlite3 /vsicurl/http://download.osgeo.org/gdal/data/sqlite3/polygon.db "select * from polygon limit 10"
cd ..
# Download a sample file
mkdir -p ogr/tmp/cache/
cd ogr/tmp/cache/
......@@ -28,24 +32,19 @@ wget http://download.osgeo.org/gdal/data/pgeo/PGeoTest.zip
unzip PGeoTest.zip
cd ../../..
# Run ogr_fgdb.py in isolation from the rest
cd ogr
python3 ogr_fgdb.py
mkdir disabled
mv ogr_fgdb.* disabled
cd ..
(cd ogr && python3 ogr_fgdb.py)
(cd ogr && mkdir disabled && mv ogr_fgdb.* disabled)
# Run ogr_pgeo.py in isolation from the rest
cd ogr
python3 ogr_pgeo.py
mv ogr_pgeo.* disabled
# mongdb tests stall
mv ogr_mongodb.* disabled
cd ..
# This crashes on Trusty since travis-ci upgraded their Trusty workers
#python ogr_pgeo.py
(cd ogr && mv ogr_pgeo.* disabled)
# Fails on test_validate_jp2_2 (erros not in expected order)
(cd gdrivers && mkdir disabled && mv test_validate_jp2.* disabled)
# Run all the Python autotests
GDAL_SKIP="JP2ECW ECW" python3 run_all.py
# A bit messy, but force testing with libspatialite 4.0dev (that has been patched a bit to remove any hard-coded SRS definition so it is very small)
cd ogr
wget http://s3.amazonaws.com/etc-data.koordinates.com/gdal-travisci/libspatialite4.0dev_ubuntu12.04-64bit_srs_stripped.tar.gz
tar xzf libspatialite4.0dev_ubuntu12.04-64bit_srs_stripped.tar.gz
ln -s install-libspatialite-4.0dev/lib/libspatialite.so.5.0.1 libspatialite.so.3
LD_LIBRARY_PATH=$PWD python3 ogr_sqlite.py
cd ..
# For some reason, the tests crash at process exit
GDAL_SKIP="JP2ECW ECW" python3 run_all.py 2>&1 | tee /tmp/log.txt || /bin/true
tail /tmp/log.txt | grep "Failed: 0 (0 blew exceptions)" >/dev/null
......@@ -12,7 +12,7 @@ sudo add-apt-repository -y ppa:ubuntugis/ubuntugis-unstable
#sudo add-apt-repository -y ppa:marlam/gta
sudo apt-get update
# postgis postgresql-9.5 postgresql-client-9.5 postgresql-9.5-postgis-2.2 libpq-dev
sudo apt-get install -y ccache python-numpy libpng12-dev libjpeg-dev libgif-dev liblzma-dev libgeos-dev libcurl4-gnutls-dev libproj-dev libxml2-dev libexpat-dev libxerces-c-dev libnetcdf-dev netcdf-bin libpoppler-dev libspatialite-dev gpsbabel swig libhdf4-alt-dev libhdf5-serial-dev libpodofo-dev poppler-utils libfreexl-dev unixodbc-dev libwebp-dev libepsilon-dev liblcms2-2 libpcre3-dev mercurial cmake libcrypto++-dev
sudo apt-get install -y --allow-unauthenticated ccache python-numpy libpng12-dev libjpeg-dev libgif-dev liblzma-dev libgeos-dev libcurl4-gnutls-dev libproj-dev libxml2-dev libexpat-dev libxerces-c-dev libnetcdf-dev netcdf-bin libpoppler-dev libspatialite-dev gpsbabel swig libhdf4-alt-dev libhdf5-serial-dev libpodofo-dev poppler-utils libfreexl-dev unixodbc-dev libwebp-dev libepsilon-dev liblcms2-2 libpcre3-dev mercurial cmake libcrypto++-dev
# libgta-dev
sudo apt-get install -y python-lxml
sudo apt-get install -y python-pip
......@@ -21,6 +21,7 @@ sudo apt-get install -y libogdi3.2-dev
# Boost for Mongo
#sudo apt-get install -y libboost-regex-dev libboost-system-dev libboost-thread-dev
sudo pip install pyflakes
sudo apt-get install doxygen texlive-latex-base
pyflakes autotest
pyflakes gdal/swig/python/scripts
pyflakes gdal/swig/python/samples
......
......@@ -6,6 +6,11 @@ cd gdal
# --with-mongocxx=/usr/local
export CCACHE_CPP2=yes
scripts/detect_tabulations.sh
scripts/detect_printf.sh
scripts/detect_self_assignment.sh
scripts/detect_suspicious_char_digit_zero.sh
ARCH_FLAGS=""
AVX2_AVAIL=1
cat /proc/cpuinfo | grep avx2 >/dev/null || AVX2_AVAIL=0
......@@ -19,6 +24,12 @@ fi
CFLAGS=$ARCH_FLAGS CXXFLAGS=$ARCH_FLAGS CC="ccache clang" CXX="ccache clang" LDFLAGS="-lstdc++" ./configure --prefix=/usr --without-libtool --with-jpeg12 --with-python --with-poppler --with-podofo --with-spatialite --with-mysql --with-liblzma --with-webp --with-java --with-mdb --with-jvm-lib-add-rpath --with-epsilon --with-ecw=/usr/local --with-mrsid=/usr/local --with-mrsid-lidar=/usr/local --with-fgdb=/usr/local --with-libkml --with-null -with-libtiff=internal
# --with-gta
make docs >docs_log.txt 2>&1
if grep -i warning docs_log.txt | grep -v -e russian -e brazilian; then echo "Doxygen warnings found" && cat docs_log.txt && /bin/false; else echo "No Doxygen warnings found"; fi
make man >man_log.txt 2>&1
if grep -i warning man_log.txt ; then echo "Doxygen warnings found" && cat docs_log.txt && /bin/false; else echo "No Doxygen warnings found"; fi
# Those ln -s are weird but otherwise Python bindings build fail with clang not being found
sudo ln -s /usr/local/clang-3.5.0/bin/clang /usr/bin/clang
sudo ln -s /usr/local/clang-3.5.0/bin/clang++ /usr/bin/clang++
......
This diff is collapsed.