GithubHelp home page GithubHelp logo

isciences / exactextract Goto Github PK

View Code? Open in Web Editor NEW
233.0 233.0 31.0 913 KB

Fast and accurate raster zonal statistics

License: Apache License 2.0

CMake 2.34% C++ 77.04% Dockerfile 0.12% Shell 0.80% Python 19.28% Batchfile 0.43%
gis raster

exactextract's People

Contributors

chengbiliu avatar dbaston avatar edzer avatar hellkite500 avatar jakubcha avatar jamie-sgro avatar joshcu avatar mgcooper avatar shengpeiwang avatar vincentsarago avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

exactextract's Issues

Python: Declare `project.ini` to be included as part of sdist

git clone https://github.com/isciences/exactextract
cd exactextract/python/
python -m build .

should work, but doesn't. The issue is that python -m build creates an isolated venv that is not in-tree for building.

You can also see this issue if you run

python -m build . --sdist
tar -ztvf dist/exactextract-0.2.0.dev0.tar.gz | grep project.ini
# no files found

which creates an sdist that does not include project.ini, and so you can't build from that sdist because setup.py expects to find that config file.

Docker image build - fail - pybind11 not found

The Docker image build is failing. I even tried to with -DBUILD_PYTHON=NO but it's still failing, this time with different error.

Without -DBUILD_PYTHON=NO

❯ cd exactextract
❯ docker build .
[+] Building 2.3s (8/8) FINISHED                                        docker:desktop-linux
 => [internal] load build definition from Dockerfile                                    0.0s
 => => transferring dockerfile: 590B                                                    0.0s
 => [internal] load metadata for docker.io/library/debian:bookworm-slim                 0.0s
 => [internal] load .dockerignore                                                       0.0s
 => => transferring context: 149B                                                       0.0s
 => [1/4] FROM docker.io/library/debian:bookworm-slim                                   0.0s
 => [internal] load build context                                                       0.0s
 => => transferring context: 14.36kB                                                    0.0s
 => CACHED [2/4] RUN apt-get update && apt-get install -y   build-essential   cmake     0.0s
 => CACHED [3/4] COPY . /exactextract                                                   0.0s
 => ERROR [4/4] RUN mkdir /cmake-build-release &&     cd /cmake-build-release &&     c  2.3s
------
 > [4/4] RUN mkdir /cmake-build-release &&     cd /cmake-build-release &&     cmake -DCMAKE_BUILD_TYPE=Release /exactextract &&     make &&     ./catch_tests &&     make install &&     rm -rf /cmake-build-release:
0.127 -- The C compiler identification is GNU 12.2.0
0.155 -- The CXX compiler identification is GNU 12.2.0
0.159 -- Detecting C compiler ABI info
0.192 -- Detecting C compiler ABI info - done
0.196 -- Check for working C compiler: /usr/bin/cc - skipped
0.196 -- Detecting C compile features
0.197 -- Detecting C compile features - done
0.198 -- Detecting CXX compiler ABI info
0.234 -- Detecting CXX compiler ABI info - done
0.238 -- Check for working CXX compiler: /usr/bin/c++ - skipped
0.239 -- Detecting CXX compile features
0.239 -- Detecting CXX compile features - done
0.244 -- GEOS version: 3.11.1
0.244 -- Source version: 0.2.0-dev
0.246 -- Found GDAL: /usr/lib/aarch64-linux-gnu/libgdal.so (found version "3.6.2")
1.148 -- [download 4% complete]
1.148 -- [download 9% complete]
1.172 -- [download 13% complete]
1.174 -- [download 18% complete]
1.177 -- [download 22% complete]
1.179 -- [download 27% complete]
1.185 -- [download 31% complete]
1.193 -- [download 35% complete]
1.196 -- [download 40% complete]
1.198 -- [download 44% complete]
1.200 -- [download 49% complete]
1.201 -- [download 53% complete]
1.203 -- [download 57% complete]
1.204 -- [download 66% complete]
1.207 -- [download 73% complete]
1.209 -- [download 78% complete]
1.214 -- [download 82% complete]
1.216 -- [download 91% complete]
1.221 -- [download 100% complete]
2.173 -- [download 2% complete]
2.173 -- [download 5% complete]
2.193 -- [download 7% complete]
2.197 -- [download 10% complete]
2.201 -- [download 12% complete]
2.206 -- [download 15% complete]
2.211 -- [download 17% complete]
2.215 -- [download 20% complete]
2.217 -- [download 22% complete]
2.220 -- [download 25% complete]
2.222 -- [download 30% complete]
2.224 -- [download 32% complete]
2.226 -- [download 35% complete]
2.236 -- [download 44% complete]
2.239 -- [download 46% complete]
2.240 -- [download 54% complete]
2.243 -- [download 59% complete]
2.243 -- [download 64% complete]
2.245 -- [download 69% complete]
2.245 -- [download 71% complete]
2.246 -- [download 74% complete]
2.258 -- [download 84% complete]
2.260 -- [download 89% complete]
2.261 -- [download 94% complete]
2.261 -- [download 96% complete]
2.263 -- [download 100% complete]
2.274 CMake Error at python/CMakeLists.txt:7 (message):
2.274   pybind11 was not found.  It is still possible to build and test
2.274   libexactextract using -DBUILD_PYTHON=NO.
2.274
2.274
2.274 -- Configuring incomplete, errors occurred!
2.274 See also "/cmake-build-release/CMakeFiles/CMakeOutput.log".
------
Dockerfile:20
--------------------
  19 |
  20 | >>> RUN mkdir /cmake-build-release && \
  21 | >>>     cd /cmake-build-release && \
  22 | >>>     cmake -DCMAKE_BUILD_TYPE=Release /exactextract && \
  23 | >>>     make && \
  24 | >>>     ./catch_tests && \
  25 | >>>     make install && \
  26 | >>>     rm -rf /cmake-build-release
  27 |
--------------------
ERROR: failed to solve: process "/bin/sh -c mkdir /cmake-build-release &&     cd /cmake-build-release &&     cmake -DCMAKE_BUILD_TYPE=Release /exactextract &&     make &&     ./catch_tests &&     make install &&     rm -rf /cmake-build-release" did not complete successfully: exit code: 1
~/work/encode/exactextract master ❯

With -DBUILD_PYTHON=NO

52.84 [100%] Linking CXX executable catch_tests
52.98 [100%] Built target catch_tests
52.99 /bin/sh: 1: ./catch_tests: not found
------
Dockerfile:20
--------------------
  19 |
  20 | >>> RUN mkdir /cmake-build-release && \
  21 | >>>     cd /cmake-build-release && \
  22 | >>>     cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_PYTHON=NO /exactextract && \
  23 | >>>     make && \
  24 | >>>     ./catch_tests && \
  25 | >>>     make install && \
  26 | >>>     rm -rf /cmake-build-release
  27 |
--------------------
ERROR: failed to solve: process "/bin/sh -c mkdir /cmake-build-release &&     cd /cmake-build-release &&     cmake -DCMAKE_BUILD_TYPE=Release -DBUILD_PYTHON=NO /exactextract &&     make &&     ./catch_tests &&     make install &&     rm -rf /cmake-build-release" did not complete successfully: exit code: 127

Am I missing something?

Tried on a couple of commits but still failed to build the image...

Linker error "undefined reference" on Linux

[ 75%] Linking CXX executable exactextract
libexactextract.a(geos_utils.cpp.o): In function exactextract::segment_intersection(GEOSContextHandle_HS*, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate&)': geos_utils.cpp:(.text+0x41c): undefined reference to GEOSSegmentIntersection_r'
libexactextract.a(geos_utils.cpp.o): In function exactextract::geos_get_box(GEOSContextHandle_HS*, GEOSGeom_t const*)': geos_utils.cpp:(.text+0x4ad): undefined reference to GEOSGeom_getXMin_r'
geos_utils.cpp:(.text+0x4c5): undefined reference to GEOSGeom_getYMin_r' geos_utils.cpp:(.text+0x4d9): undefined reference to GEOSGeom_getXMax_r'
geos_utils.cpp:(.text+0x4ed): undefined reference to GEOSGeom_getYMax_r' libexactextract.a(geos_utils.cpp.o): In function exactextract::geos_is_ccw(GEOSContextHandle_HS*, GEOSCoordSeq_t const*)':
geos_utils.cpp:(.text+0x5ac): undefined reference to GEOSCoordSeq_isCCW_r' libexactextract.a(geos_utils.cpp.o): In function exactextract::geos_get_component_boxes(GEOSContextHandle_HS*, GEOSGeom_t const*)':
geos_utils.cpp:(.text+0x92a): undefined reference to GEOSGeom_getXMin_r' geos_utils.cpp:(.text+0x93e): undefined reference to GEOSGeom_getYMin_r'
geos_utils.cpp:(.text+0x952): undefined reference to GEOSGeom_getXMax_r' geos_utils.cpp:(.text+0x966): undefined reference to GEOSGeom_getYMax_r'
/usr/lib/libgdal.so: undefined reference to TIFFReadDirectory@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFClientdata@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to kmlengine::Href::Parse(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/lib/libgdal.so: undefined reference to xercesc_3_2::DOMImplementationRegistry::getDOMImplementation(char16_t const*)'
/usr/lib/libgdal.so: undefined reference to TIFFLastDirectory@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFReadRGBAStripExt@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to TIFFWriteEncodedStrip@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFSwabArrayOfShort@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to TIFFIsTiled@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFIsByteSwapped@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to kmlengine::KmzFile::ReadKmlAndGetPath(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*, std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> >*) const' /usr/lib/libgdal.so: undefined reference to TIFFFlushData@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to TIFFWriteCheck@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFSetWriteOffset@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to TIFFDefaultStripSize@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFScanlineSize64@LIBTIFF_4.0'
//usr/lib/x86_64-linux-gnu/libpoppler.so.73: undefined reference to TIFFFdOpen@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to kmldom::ParseNS(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)'
/usr/lib/libgdal.so: undefined reference to TIFFIsBigEndian@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFWriteScanline@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to xercesc_3_2::XSModel::getComponentsByNamespace(xercesc_3_2::XSConstants::COMPONENT_TYPE, char16_t const*)' /usr/lib/libgdal.so: undefined reference to _TIFFfree@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to kmlengine::KmzFile::OpenFromString(std::__cxx11::basic_string<char, std::char_traits<char>, std::allocator<char> > const&)' /usr/lib/libgdal.so: undefined reference to TIFFSwabShort@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to TIFFFreeDirectory@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFGetField@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to TIFFNumberOfStrips@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFWriteBufferSetup@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to TIFFScanlineSize@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFWriteEncodedTile@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to xercesc_3_2::InputSource::setEncoding(char16_t const*)' /usr/lib/libgdal.so: undefined reference to TIFFSwabLong@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to TIFFTileSize@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFWriteDirectory@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to TIFFReadEncodedTile@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to xercesc_3_2::XMLString::transcode(char16_t const
, xercesc_3_2::MemoryManager*)'
/usr/lib/libgdal.so: undefined reference to TIFFClose@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFFlush@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to TIFFSetTagExtender@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFRGBAImageOK@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to TIFFWriteRawStrip@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFErrorExt@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to kmldom::SerializePretty[abi:cxx11](boost::intrusive_ptr<kmldom::Element> const&)' /usr/lib/libgdal.so: undefined reference to TIFFGetFieldDefaulted@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to TIFFSwabArrayOfLong@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to kmldom::Parse(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)'
/usr/lib/libgdal.so: undefined reference to TIFFNumberOfDirectories@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFTileSize64@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to xercesc_3_2::XSModel::getElementDeclaration(char16_t const*, char16_t const*)' /usr/lib/libgdal.so: undefined reference to libdap::Connect::Connect(std::__cxx11::basic_string<char, std::char_traits, std::allocator > const&, std::__cxx11::basic_string<char, std::char_traits, std::allocator >, std::__cxx11::basic_string<char, std::char_traits, std::allocator >)'
/usr/lib/libgdal.so: undefined reference to TIFFWriteRawTile@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to xercesc_3_2::XMLString::release(char16_t**, xercesc_3_2::MemoryManager
)'
/usr/lib/libgdal.so: undefined reference to TIFFStripSize64@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFCreateDirectory@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to xercesc_3_2::InputSource::setPublicId(char16_t const*)' /usr/lib/libgdal.so: undefined reference to TIFFSetSubDirectory@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to xercesc_3_2::InputSource::setSystemId(char16_t const*)' /usr/lib/libgdal.so: undefined reference to TIFFStripSize@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to TIFFSwabArrayOfDouble@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFReadRGBATileExt@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to TIFFReadEncodedStrip@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFUnlinkDirectory@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to TIFFUnsetField@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFSetField@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to TIFFMergeFieldInfo@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFCurrentDirOffset@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to TIFFIsCODECConfigured@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to kmlengine::KmzFile::ReadFile(char const*, std::__cxx11::basic_string<char, std::char_traits, std::allocator >*) const'
/usr/lib/libgdal.so: undefined reference to TIFFDataWidth@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFSetWarningHandler@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to TIFFGetConfiguredCODECs@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFSetErrorHandler@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to TIFFGetSizeProc@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFRewriteDirectory@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to TIFFSetDirectory@LIBTIFF_4.0' /usr/lib/libgdal.so: undefined reference to TIFFReadScanline@LIBTIFF_4.0'
/usr/lib/libgdal.so: undefined reference to `TIFFNumberOfTiles@LIBTIFF_4.0'
collect2: error: ld returned 1 exit status
CMakeFiles/exactextract_bin.dir/build.make:181: recipe for target 'exactextract' failed
make[2]: *** [exactextract] Error 1
CMakeFiles/Makefile2:155: recipe for target 'CMakeFiles/exactextract_bin.dir/all' failed
make[1]: *** [CMakeFiles/exactextract_bin.dir/all] Error 2
Makefile:149: recipe for target 'all' failed
make: *** [all] Error 2

Minority, majority, and variety don't work with a thematic raster

I have a thematic (discrete, integer) raster and want to use the minority and majority statistics. However the output is always nan. If I run the same commands with mean, min, max, I get sensible numerical output (except that only a majority output would be sensible in my use case).

exactextract \
-r luc:./nzfarm.raster.tif \
-p ./parcels.gpkg[parcels] \
-f id \
-s majority(luc) \
-o ./parcels.majority.nzfarm.raster.csv

head ./parcels.majority.nzfarm.raster.csv
id,luc_majority
"2734",nan
"2743",nan
"3258",nan
"3268",nan
"3422",nan
"3606",nan
"3695",nan
"4381",nan
"4382",nan

Same command's output but for max instead of majority:

id,luc_max
"2734",14
"2743",3
"3258",14
"3268",3
"3422",26
"3606",14
"3695",14
"4381",14
"4382",14

min

id,luc_min
"2734",3
"2743",3
"3258",14
"3268",3
"3422",26
"3606",3
"3695",3
"4381",14
"4382",14

...and for mean (nonsense output for my use-case, but demonstrating that it works):

id,luc_mean
"2734",13.0842542648315
"2743",3
"3258",14
"3268",3
"3422",26.0000019073486
"3606",13.4197244644165
"3695",3.33548903465271
"4381",14
"4382",14

variety doesn't seem to work either, but reports 0 rather than NaN:

id,luc_variety
"2734",0
"2743",0
"3258",0
"3268",0
"3422",0
"3606",0
"3695",0
"4381",0
"4382",0

count:

id,luc_count
"2734",0.424698650836945
"2743",0.0814584046602249
"3258",0.487965881824493
"3268",0.00538108451291919
"3422",0.00977452844381332
"3606",0.311928182840347
"3695",0.559225618839264
"4381",0.288064271211624
"4382",0.640185415744781

There is no nan data where the input vector information overlaps the raster (though the raster does have nan data in other places). In the full set, most of my vector features are smaller than the raster cell size, but very many are much larger. The output is consistent regardless of vector feature size.

I don't know whether this is relevant, but both my raster and vector are both projected in EPSG:3851, which happens to cross the antimeridian.

I note that I can't see a test for majority statistics in https://github.com/isciences/exactextract/blob/master/test/test_stats.cpp only mode and minority. I suppose mode is an alias for majority?

(Also, in the readme I think you've reversed majority/minority with respect to the sample use case. i.e. a "majority" should give you the most common land cover type, but your table says "least common".)

Here's a screenshot of the sample area. The vector features are polygons, I have just not drawn them with a fill. They may overlap.
Screenshot from 2022-04-06 15-32-54

Install/Make Error on Linux

Hi, I followed the instructions to install and build for Linux as follows:

git clone https://github.com/isciences/exactextract
cd exactextract
mkdir cmake-build-release
cd cmake-build-release
cmake -DCMAKE_BUILD_TYPE=Release ..
make

But upon running make I encounter a series of these errors:

Building CXX object CMakeFiles/catch_tests.dir/test/test_box.cpp.o
/home/userdir/exactextract/test/test_box.cpp:7:10: error: expected constructor, destructor, or type conversion before ‘(’ token
 TEST_CASE("Box dimensions are calculated correctly", "[box]" ) {

/home/njdepsky/exactextract/test/test_box.cpp:15:10: error: expected constructor, destructor, or type conversion before ‘(’ token
 TEST_CASE("Coordinate sides are correctly identified", "[box]") {

etc...

Histogram feature/tool

It would be great if a Histogram feature (similar to ArcGIS) could be added to the tool which could be useful, for example, in printing the land cover types' proportions (or percentages).

Process large polygons in tiles

It should be possible to set a maximum number N of raster cells which will be loaded into memory at any given time. If the bounding box of a given polygon covers more than N cells, then the polygon will be processed in multiple passes over size-N tiles of the raster.

Incorrect result with very narrow polygon

The following polygon/grid should produce coverage fractions that are very close to zero:

auto context = init_geos();

Grid<bounded_extent> ex{{487800, 492800, 5813800, 5818800}, 100, 100};

auto g = GEOSGeom_read_r(context, "POLYGON ((492094.9283999996 5816959.8553, 492374.9335527361 5816811.352641133, 492374.9335527363 5816811.352641133, 492094.9283999996 5816959.8553)))");

auto result = raster_cell_intersection(ex, context, g.get());

Instead it produces coverage fractions that are very close to one. It looks like this happens because the addition of calculated intersection points where the polygon crosses cell boundaries actually causes the polygon to flip from CCW to CW orientation.

ERROR: min and max statistics are not working

Under Windows, with the following command:

exactextract ^
-r mm:d:\tmp\chirps\yem_chirps-v2.0.2019.10.tif ^
-p adm1.shp ^
-f adm1_en ^
-s max(mm) ^
-s mean(mm) ^
-s min(mm) ^
-s sum(mm) ^
-o d:\tmp\chirps\yem_chirps-v2.0.2019.10_adm1_mm.csv

I get an error message Error: Unknown stat: 'max'

Indeed, I can't find the related operation in operation.h.

Is it a bug or am I doing something wrong?

Build error on OSX 10.12.6

I'm trying to install this library on OSX. geos & gdal are already installed, but I'm getting a linker error on make:

Undefined symbols for architecture x86_64:
  "_GEOSCoordSeq_create", referenced from:
      exactextract::FloodFill::cell_is_inside(unsigned long, unsigned long) const in floodfill.cpp.o
      exactextract::geos_make_box_polygon(double, double, double, double) in geos_utils.cpp.o
      exactextract::segment_intersection(exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate&) in geos_utils.cpp.o
  "_GEOSCoordSeq_destroy", referenced from:
      exactextract::FloodFill::cell_is_inside(unsigned long, unsigned long) const in floodfill.cpp.o
      exactextract::geos_make_box_polygon(double, double, double, double) in geos_utils.cpp.o
      exactextract::segment_intersection(exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate&) in geos_utils.cpp.o
  "_GEOSCoordSeq_getSize", referenced from:
      exactextract::read(GEOSCoordSeq_t const*) in geos_utils.cpp.o
      exactextract::initial_segment_orientation(GEOSCoordSeq_t const*) in geos_utils.cpp.o
      exactextract::RasterCellIntersection::process_ring(GEOSGeom_t const*, bool) in raster_cell_intersection.cpp.o
  "_GEOSCoordSeq_getX", referenced from:
      exactextract::geos_get_box(GEOSGeom_t const*) in geos_utils.cpp.o
      exactextract::read(GEOSCoordSeq_t const*) in geos_utils.cpp.o
      exactextract::initial_segment_orientation(GEOSCoordSeq_t const*) in geos_utils.cpp.o
      exactextract::RasterCellIntersection::process_ring(GEOSGeom_t const*, bool) in raster_cell_intersection.cpp.o
  "_GEOSCoordSeq_getY", referenced from:
      exactextract::geos_get_box(GEOSGeom_t const*) in geos_utils.cpp.o
      exactextract::read(GEOSCoordSeq_t const*) in geos_utils.cpp.o
      exactextract::initial_segment_orientation(GEOSCoordSeq_t const*) in geos_utils.cpp.o
      exactextract::RasterCellIntersection::process_ring(GEOSGeom_t const*, bool) in raster_cell_intersection.cpp.o
  "_GEOSCoordSeq_setX", referenced from:
      exactextract::FloodFill::cell_is_inside(unsigned long, unsigned long) const in floodfill.cpp.o
      exactextract::geos_make_box_polygon(double, double, double, double) in geos_utils.cpp.o
      exactextract::segment_intersection(exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate&) in geos_utils.cpp.o
  "_GEOSCoordSeq_setY", referenced from:
      exactextract::FloodFill::cell_is_inside(unsigned long, unsigned long) const in floodfill.cpp.o
      exactextract::geos_make_box_polygon(double, double, double, double) in geos_utils.cpp.o
      exactextract::segment_intersection(exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate&) in geos_utils.cpp.o
  "_GEOSEnvelope", referenced from:
      exactextract::geos_get_box(GEOSGeom_t const*) in geos_utils.cpp.o
  "_GEOSGeomGetX", referenced from:
      exactextract::segment_intersection(exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate&) in geos_utils.cpp.o
  "_GEOSGeomGetY", referenced from:
      exactextract::segment_intersection(exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate&) in geos_utils.cpp.o
  "_GEOSGeomTypeId", referenced from:
      exactextract::segment_intersection(exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate&) in geos_utils.cpp.o
      exactextract::RasterCellIntersection::process(GEOSGeom_t const*) in raster_cell_intersection.cpp.o
  "_GEOSGeom_clone", referenced from:
      exactextract::FloodFill::FloodFill(GEOSGeom_t const*, exactextract::Grid<exactextract::bounded_extent> const&) in floodfill.cpp.o
  "_GEOSGeom_createLineString", referenced from:
      exactextract::segment_intersection(exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate&) in geos_utils.cpp.o
  "_GEOSGeom_createLinearRing", referenced from:
      exactextract::geos_make_box_polygon(double, double, double, double) in geos_utils.cpp.o
  "_GEOSGeom_createPoint", referenced from:
      exactextract::FloodFill::cell_is_inside(unsigned long, unsigned long) const in floodfill.cpp.o
  "_GEOSGeom_createPolygon", referenced from:
      exactextract::FloodFill::FloodFill(GEOSGeom_t const*, exactextract::Grid<exactextract::bounded_extent> const&) in floodfill.cpp.o
      exactextract::geos_make_box_polygon(double, double, double, double) in geos_utils.cpp.o
  "_GEOSGeom_destroy", referenced from:
      exactextract::FloodFill::FloodFill(GEOSGeom_t const*, exactextract::Grid<exactextract::bounded_extent> const&) in floodfill.cpp.o
      exactextract::FloodFill::cell_is_inside(unsigned long, unsigned long) const in floodfill.cpp.o
      exactextract::geos_make_box_polygon(double, double, double, double) in geos_utils.cpp.o
      exactextract::segment_intersection(exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate&) in geos_utils.cpp.o
      exactextract::geos_get_box(GEOSGeom_t const*) in geos_utils.cpp.o
  "_GEOSGeom_getCoordSeq", referenced from:
      exactextract::geos_get_box(GEOSGeom_t const*) in geos_utils.cpp.o
      exactextract::RasterCellIntersection::process_ring(GEOSGeom_t const*, bool) in raster_cell_intersection.cpp.o
  "_GEOSGetExteriorRing", referenced from:
      exactextract::geos_get_box(GEOSGeom_t const*) in geos_utils.cpp.o
      exactextract::RasterCellIntersection::process(GEOSGeom_t const*) in raster_cell_intersection.cpp.o
  "_GEOSGetGeometryN", referenced from:
      exactextract::RasterCellIntersection::process(GEOSGeom_t const*) in raster_cell_intersection.cpp.o
  "_GEOSGetInteriorRingN", referenced from:
      exactextract::RasterCellIntersection::process(GEOSGeom_t const*) in raster_cell_intersection.cpp.o
  "_GEOSGetNumGeometries", referenced from:
      exactextract::RasterCellIntersection::process(GEOSGeom_t const*) in raster_cell_intersection.cpp.o
  "_GEOSGetNumInteriorRings", referenced from:
      exactextract::RasterCellIntersection::process(GEOSGeom_t const*) in raster_cell_intersection.cpp.o
  "_GEOSIntersection", referenced from:
      exactextract::segment_intersection(exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate&) in geos_utils.cpp.o
  "_GEOSOrientationIndex", referenced from:
      exactextract::geos_is_ccw(GEOSCoordSeq_t const*) in geos_utils.cpp.o
  "_GEOSPrepare", referenced from:
      exactextract::FloodFill::FloodFill(GEOSGeom_t const*, exactextract::Grid<exactextract::bounded_extent> const&) in floodfill.cpp.o
  "_GEOSPreparedContains", referenced from:
      exactextract::FloodFill::cell_is_inside(unsigned long, unsigned long) const in floodfill.cpp.o
  "_GEOSPreparedGeom_destroy", referenced from:
      exactextract::FloodFill::FloodFill(GEOSGeom_t const*, exactextract::Grid<exactextract::bounded_extent> const&) in floodfill.cpp.o
  "_GEOSisEmpty", referenced from:
      exactextract::segment_intersection(exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate const&, exactextract::Coordinate&) in geos_utils.cpp.o
      exactextract::RasterCellIntersection::RasterCellIntersection(exactextract::Grid<exactextract::bounded_extent> const&, GEOSGeom_t const*) in raster_cell_intersection.cpp.o
ld: symbol(s) not found for architecture x86_64
clang: error: linker command failed with exit code 1 (use -v to see invocation)
make[2]: *** [libexactextract.dylib] Error 1
make[1]: *** [CMakeFiles/exactextract_SHARED.dir/all] Error 2
make: *** [all] Error 2

When running the cmake -DCMAKE_BUILD_TYPE=Release .. command, it is able to find the GEOS and GDAL libraries:

➙ cmake -DCMAKE_BUILD_TYPE=Release ..
-- The C compiler identification is AppleClang 9.0.0.9000039
-- The CXX compiler identification is AppleClang 9.0.0.9000039
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc
-- Check for working C compiler: /Library/Developer/CommandLineTools/usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++
-- Check for working CXX compiler: /Library/Developer/CommandLineTools/usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found GEOS: /Library/Frameworks/GEOS.framework
-- Found GDAL: /Library/Frameworks/GDAL.framework/Versions/2.1/unix/lib/libgdal.dylib

Any idea what might be causing this?

Install error on Ubuntu 18: No rule to make target 'install'.

I attempted to install this in docker (Ubuntu 18) and when using the instructions in the README, got this error:

make: *** No rule to make target 'install'.  Stop.

Steps to reproduce:

docker run -it --entrypoint=/bin/bash ubuntu
apt update && apt install -y git build-essential cmake libgeos-dev 
git clone https://github.com/isciences/exactextract && cd exactextract
mkdir cmake-build-release && cd cmake-build-release
cmake -DCMAKE_BUILD_TYPE=Release ..
make
make install

The last command should give the error.

Allow use of secondary raster for weighting

Would allow computation of, for example, the population-weighted water deficit within a country. This should work even if the weighting raster does not have the same resolution and extent as the value raster, provided that (a) the resolutions are integer multiples of each other and (b) any difference between the grid origin points of the value and weighting rasters is an integer multiple of the smaller of the two cell sizes.

Compilation failure with gcc 9

Hi, I'm trying to install the package with pip install . from the root of the repository, but failed on building project with ninja. Any idea on how could I fix that? Thanks.

Processing /home/weiqi_tori/GitHub/exactextract
  Installing build dependencies ... done
  Getting requirements to build wheel ... done
  Installing backend dependencies ... done
  Preparing metadata (pyproject.toml) ... done
Building wheels for collected packages: exactextract
  Building wheel for exactextract (pyproject.toml) ... error
  error: subprocess-exited-with-error

  × Building wheel for exactextract (pyproject.toml) did not run successfully.
  │ exit code: 1
  ╰─> [85 lines of output]
      *** scikit-build-core 0.8.1 using CMake 3.28.3 (wheel)
      *** Configuring CMake...
      2024-02-21 13:58:10,953 - scikit_build_core - WARNING - libdir/ldlibrary: /home/weiqi_tori/anaconda3/envs/fenv/lib/libpython3.10.a is not a real file!
      2024-02-21 13:58:10,953 - scikit_build_core - WARNING - Can't find a Python library, got libdir=/home/weiqi_tori/anaconda3/envs/fenv/lib, ldlibrary=libpython3.10.a, multiarch=x86_64-linux-gnu, masd=None
      loading initial cache file /tmp/tmpf6fty2yo/build/CMakeInit.txt
      -- The C compiler identification is GNU 9.4.0
      -- The CXX compiler identification is GNU 9.4.0
      -- Detecting C compiler ABI info
      -- Detecting C compiler ABI info - done
      -- Check for working C compiler: /usr/bin/cc - skipped
      -- Detecting C compile features
      -- Detecting C compile features - done
      -- Detecting CXX compiler ABI info
      -- Detecting CXX compiler ABI info - done
      -- Check for working CXX compiler: /usr/bin/c++ - skipped
      -- Detecting CXX compile features
      -- Detecting CXX compile features - done
      -- GEOS version: 3.12.1
      -- Source version: 0.2.0-dev (fe1aaae)
      CMake Warning (dev) at /home/weiqi_tori/anaconda3/envs/fenv/lib/python3.10/site-packages/pybind11/share/cmake/pybind11/FindPythonLibsNew.cmake:98 (find_package):
        Policy CMP0148 is not set: The FindPythonInterp and FindPythonLibs modules
        are removed.  Run "cmake --help-policy CMP0148" for policy details.  Use
        the cmake_policy command to set the policy and suppress this warning.

      Call Stack (most recent call first):
        /home/weiqi_tori/anaconda3/envs/fenv/lib/python3.10/site-packages/pybind11/share/cmake/pybind11/pybind11Tools.cmake:50 (find_package)
        /home/weiqi_tori/anaconda3/envs/fenv/lib/python3.10/site-packages/pybind11/share/cmake/pybind11/pybind11Common.cmake:188 (include)
        /home/weiqi_tori/anaconda3/envs/fenv/lib/python3.10/site-packages/pybind11/share/cmake/pybind11/pybind11Config.cmake:250 (include)
        python/CMakeLists.txt:2 (find_package)
      This warning is for project developers.  Use -Wno-dev to suppress it.

      -- Found PythonLibs: /home/weiqi_tori/anaconda3/envs/fenv/lib/libpython3.10.so
      -- Performing Test HAS_FLTO
      -- Performing Test HAS_FLTO - Success
      -- Configuring done (2.5s)
      -- Generating done (0.0s)
      -- Build files have been written to: /tmp/tmpf6fty2yo/build
      *** Building project with Ninja...
      [1/29] Building CXX object CMakeFiles/exactextract.dir/src/box.cpp.o
      [2/29] Building CXX object CMakeFiles/exactextract.dir/src/coordinate.cpp.o
      [3/29] Building CXX object CMakeFiles/exactextract.dir/src/measures.cpp.o
      [4/29] Building CXX object CMakeFiles/exactextract.dir/src/feature.cpp.o
      [5/29] Building CXX object CMakeFiles/exactextract.dir/src/cell.cpp.o
      [6/29] Building CXX object CMakeFiles/exactextract.dir/src/grid.cpp.o
      [7/29] Building CXX object CMakeFiles/exactextract.dir/src/perimeter_distance.cpp.o
      [8/29] Building CXX object CMakeFiles/exactextract.dir/src/geos_utils.cpp.o
      [9/29] Building CXX object CMakeFiles/exactextract.dir/src/floodfill.cpp.o
      [10/29] Building CXX object CMakeFiles/exactextract.dir/src/side.cpp.o
      [11/29] Building CXX object CMakeFiles/exactextract.dir/src/traversal.cpp.o
      [12/29] Building CXX object CMakeFiles/exactextract.dir/src/feature_sequential_processor.cpp.o
      [13/29] Building CXX object CMakeFiles/exactextract.dir/src/traversal_areas.cpp.o
      [14/29] Building CXX object CMakeFiles/exactextract.dir/src/raster_cell_intersection.cpp.o
      [15/29] Building CXX object CMakeFiles/exactextract.dir/src/output_writer.cpp.o
      [16/29] Building CXX object CMakeFiles/exactextract.dir/src/weighted_quantiles.cpp.o
      [17/29] Building CXX object CMakeFiles/exactextract.dir/src/operation.cpp.o
      FAILED: CMakeFiles/exactextract.dir/src/operation.cpp.o
      /usr/bin/c++ -DGEOS_USE_ONLY_R_API -isystem /home/weiqi_tori/anaconda3/envs/fenv/include/geos -isystem /home/weiqi_tori/anaconda3/envs/fenv/include -O3 -DNDEBUG -std=c++17 -fPIC -Werror -Wall -Wextra -Wshadow -Wdouble-promotion -MD -MT CMakeFiles/exactextract.dir/src/operation.cpp.o -MF CMakeFiles/exactextract.dir/src/operation.cpp.o.d -o CMakeFiles/exactextract.dir/src/operation.cpp.o -c /home/weiqi_tori/GitHub/exactextract/src/operation.cpp
      /home/weiqi_tori/GitHub/exactextract/src/operation.cpp: In instantiation of ‘exactextract::OperationImpl<Derived>::result_type() const [with Derived = exactextract::Quantile]::<lambda(const auto:29&)> [with auto:29 = std::unique_ptr<exactextract::AbstractRaster<float> >]’:
      /usr/include/c++/9/bits/invoke.h:60:36:   required from ‘constexpr _Res std::__invoke_impl(std::__invoke_other, _Fn&&, _Args&& ...) [with _Res = exactextract::Feature::ValueType; _Fn = exactextract::OperationImpl<Derived>::result_type() const [with Derived = exactextract::Quantile]::<lambda(const auto:29&)>; _Args = {const std::unique_ptr<exactextract::AbstractRaster<float>, std::default_delete<exactextract::AbstractRaster<float> > >&}]’
      /usr/include/c++/9/bits/invoke.h:95:40:   required from ‘constexpr typename std::__invoke_result<_Functor, _ArgTypes>::type std::__invoke(_Callable&&, _Args&& ...) [with _Callable = exactextract::OperationImpl<Derived>::result_type() const [with Derived = exactextract::Quantile]::<lambda(const auto:29&)>; _Args = {const std::unique_ptr<exactextract::AbstractRaster<float>, std::default_delete<exactextract::AbstractRaster<float> > >&}; typename std::__invoke_result<_Functor, _ArgTypes>::type = exactextract::Feature::ValueType]’
      /usr/include/c++/9/variant:981:24:   required from ‘static constexpr decltype(auto) std::__detail::__variant::__gen_vtable_impl<__same_return_types, std::__detail::__variant::_Multi_array<_Result_type (*)(_Visitor, _Variants ...)>, std::tuple<_Variants ...>, std::integer_sequence<long unsigned int, __indices ...> >::__visit_invoke_impl(_Visitor&&, _Variants ...) [with bool __same_return_types = true; _Result_type = exactextract::Feature::ValueType; _Visitor = exactextract::OperationImpl<Derived>::result_type() const [with Derived = exactextract::Quantile]::<lambda(const auto:29&)>&&; _Variants = {const std::variant<std::unique_ptr<exactextract::AbstractRaster<float>, std::default_delete<exactextract::AbstractRaster<float> > >, std::unique_ptr<exactextract::AbstractRaster<double>, std::default_delete<exactextract::AbstractRaster<double> > >, std::unique_ptr<exactextract::AbstractRaster<signed char>, std::default_delete<exactextract::AbstractRaster<signed char> > >, std::unique_ptr<exactextract::AbstractRaster<short int>, std::default_delete<exactextract::AbstractRaster<short int> > >, std::unique_ptr<exactextract::AbstractRaster<int>, std::default_delete<exactextract::AbstractRaster<int> > >, std::unique_ptr<exactextract::AbstractRaster<long int>, std::default_delete<exactextract::AbstractRaster<long int> > > >&}; long unsigned int ...__indices = {0}]’
      /usr/include/c++/9/variant:989:28:   required from ‘static constexpr decltype(auto) std::__detail::__variant::__gen_vtable_impl<__same_return_types, std::__detail::__variant::_Multi_array<_Result_type (*)(_Visitor, _Variants ...)>, std::tuple<_Variants ...>, std::integer_sequence<long unsigned int, __indices ...> >::__do_visit_invoke(_Visitor&&, _Variants ...) [with bool __same_return_types = true; _Result_type = exactextract::Feature::ValueType; _Visitor = exactextract::OperationImpl<Derived>::result_type() const [with Derived = exactextract::Quantile]::<lambda(const auto:29&)>&&; _Variants = {const std::variant<std::unique_ptr<exactextract::AbstractRaster<float>, std::default_delete<exactextract::AbstractRaster<float> > >, std::unique_ptr<exactextract::AbstractRaster<double>, std::default_delete<exactextract::AbstractRaster<double> > >, std::unique_ptr<exactextract::AbstractRaster<signed char>, std::default_delete<exactextract::AbstractRaster<signed char> > >, std::unique_ptr<exactextract::AbstractRaster<short int>, std::default_delete<exactextract::AbstractRaster<short int> > >, std::unique_ptr<exactextract::AbstractRaster<int>, std::default_delete<exactextract::AbstractRaster<int> > >, std::unique_ptr<exactextract::AbstractRaster<long int>, std::default_delete<exactextract::AbstractRaster<long int> > > >&}; long unsigned int ...__indices = {0}]’
      /usr/include/c++/9/variant:1005:28:   [ skipping 2 instantiation contexts, use -ftemplate-backtrace-limit=0 to disable ]
      /usr/include/c++/9/variant:936:56:   required from ‘static constexpr void std::__detail::__variant::__gen_vtable_impl<__same_return_types, std::__detail::__variant::_Multi_array<_Result_type (*)(_Visitor, _Variants ...), __dimensions ...>, std::tuple<_Variants ...>, std::integer_sequence<long unsigned int, __indices ...> >::_S_apply_single_alt(_Tp&, _Tp*) [with bool __do_cookie = false; long unsigned int __index = 0; _Tp = std::__detail::__variant::_Multi_array<exactextract::Feature::ValueType (*)(exactextract::OperationImpl<Derived>::result_type() const [with Derived = exactextract::Quantile]::<lambda(const auto:29&)>&&, const std::variant<std::unique_ptr<exactextract::AbstractRaster<float>, std::default_delete<exactextract::AbstractRaster<float> > >, std::unique_ptr<exactextract::AbstractRaster<double>, std::default_delete<exactextract::AbstractRaster<double> > >, std::unique_ptr<exactextract::AbstractRaster<signed char>, std::default_delete<exactextract::AbstractRaster<signed char> > >, std::unique_ptr<exactextract::AbstractRaster<short int>, std::default_delete<exactextract::AbstractRaster<short int> > >, std::unique_ptr<exactextract::AbstractRaster<int>, std::default_delete<exactextract::AbstractRaster<int> > >, std::unique_ptr<exactextract::AbstractRaster<long int>, std::default_delete<exactextract::AbstractRaster<long int> > > >&)>; bool __same_return_types = true; _Result_type = exactextract::Feature::ValueType; _Visitor = exactextract::OperationImpl<Derived>::result_type() const [with Derived = exactextract::Quantile]::<lambda(const auto:29&)>&&; long unsigned int ...__dimensions = {6}; _Variants = {const std::variant<std::unique_ptr<exactextract::AbstractRaster<float>, std::default_delete<exactextract::AbstractRaster<float> > >, std::unique_ptr<exactextract::AbstractRaster<double>, std::default_delete<exactextract::AbstractRaster<double> > >, std::unique_ptr<exactextract::AbstractRaster<signed char>, std::default_delete<exactextract::AbstractRaster<signed char> > >, std::unique_ptr<exactextract::AbstractRaster<short int>, std::default_delete<exactextract::AbstractRaster<short int> > >, std::unique_ptr<exactextract::AbstractRaster<int>, std::default_delete<exactextract::AbstractRaster<int> > >, std::unique_ptr<exactextract::AbstractRaster<long int>, std::default_delete<exactextract::AbstractRaster<long int> > > >&}; long unsigned int ...__indices = {}]’
      /usr/include/c++/9/variant:909:48:   required from ‘constexpr const _Array_type std::__detail::__variant::__gen_vtable<true, exactextract::Feature::ValueType, exactextract::OperationImpl<Derived>::result_type() const [with Derived = exactextract::Quantile]::<lambda(const auto:29&)>&&, const std::variant<std::unique_ptr<exactextract::AbstractRaster<float>, std::default_delete<exactextract::AbstractRaster<float> > >, std::unique_ptr<exactextract::AbstractRaster<double>, std::default_delete<exactextract::AbstractRaster<double> > >, std::unique_ptr<exactextract::AbstractRaster<signed char>, std::default_delete<exactextract::AbstractRaster<signed char> > >, std::unique_ptr<exactextract::AbstractRaster<short int>, std::default_delete<exactextract::AbstractRaster<short int> > >, std::unique_ptr<exactextract::AbstractRaster<int>, std::default_delete<exactextract::AbstractRaster<int> > >, std::unique_ptr<exactextract::AbstractRaster<long int>, std::default_delete<exactextract::AbstractRaster<long int> > > >&>::_S_vtable’
      /usr/include/c++/9/variant:1647:23:   required from ‘constexpr decltype(auto) std::__do_visit(_Visitor&&, _Variants&& ...) [with bool __use_index = false; bool __same_return_types = true; _Visitor = exactextract::OperationImpl<Derived>::result_type() const [with Derived = exactextract::Quantile]::<lambda(const auto:29&)>; _Variants = {const std::variant<std::unique_ptr<exactextract::AbstractRaster<float>, std::default_delete<exactextract::AbstractRaster<float> > >, std::unique_ptr<exactextract::AbstractRaster<double>, std::default_delete<exactextract::AbstractRaster<double> > >, std::unique_ptr<exactextract::AbstractRaster<signed char>, std::default_delete<exactextract::AbstractRaster<signed char> > >, std::unique_ptr<exactextract::AbstractRaster<short int>, std::default_delete<exactextract::AbstractRaster<short int> > >, std::unique_ptr<exactextract::AbstractRaster<int>, std::default_delete<exactextract::AbstractRaster<int> > >, std::unique_ptr<exactextract::AbstractRaster<long int>, std::default_delete<exactextract::AbstractRaster<long int> > > >&}]’
      /usr/include/c++/9/variant:1663:24:   required from ‘constexpr decltype(auto) std::visit(_Visitor&&, _Variants&& ...) [with _Visitor = exactextract::OperationImpl<Derived>::result_type() const [with Derived = exactextract::Quantile]::<lambda(const auto:29&)>; _Variants = {const std::variant<std::unique_ptr<exactextract::AbstractRaster<float>, std::default_delete<exactextract::AbstractRaster<float> > >, std::unique_ptr<exactextract::AbstractRaster<double>, std::default_delete<exactextract::AbstractRaster<double> > >, std::unique_ptr<exactextract::AbstractRaster<signed char>, std::default_delete<exactextract::AbstractRaster<signed char> > >, std::unique_ptr<exactextract::AbstractRaster<short int>, std::default_delete<exactextract::AbstractRaster<short int> > >, std::unique_ptr<exactextract::AbstractRaster<int>, std::default_delete<exactextract::AbstractRaster<int> > >, std::unique_ptr<exactextract::AbstractRaster<long int>, std::default_delete<exactextract::AbstractRaster<long int> > > >&}]’
      /home/weiqi_tori/GitHub/exactextract/src/operation.cpp:122:26:   required from ‘exactextract::Feature::ValueType exactextract::OperationImpl<Derived>::result_type() const [with Derived = exactextract::Quantile]’
      /home/weiqi_tori/GitHub/exactextract/src/operation.cpp:118:24:   required from here
      /usr/include/c++/9/variant:1028:40:   in ‘constexpr’ expansion of ‘std::__detail::__variant::__gen_vtable_impl<true, std::__detail::__variant::_Multi_array<exactextract::Feature::ValueType (*)(exactextract::OperationImpl<Derived>::result_type() const [with Derived = exactextract::Quantile]::<lambda(const auto:29&)>&&, const std::variant<std::unique_ptr<exactextract::AbstractRaster<float>, std::default_delete<exactextract::AbstractRaster<float> > >, std::unique_ptr<exactextract::AbstractRaster<double>, std::default_delete<exactextract::AbstractRaster<double> > >, std::unique_ptr<exactextract::AbstractRaster<signed char>, std::default_delete<exactextract::AbstractRaster<signed char> > >, std::unique_ptr<exactextract::AbstractRaster<short int>, std::default_delete<exactextract::AbstractRaster<short int> > >, std::unique_ptr<exactextract::AbstractRaster<int>, std::default_delete<exactextract::AbstractRaster<int> > >, std::unique_ptr<exactextract::AbstractRaster<long int>, std::default_delete<exactextract::AbstractRaster<long int> > > >&), 6>, std::tuple<const std::variant<std::unique_ptr<exactextract::AbstractRaster<float>, std::default_delete<exactextract::AbstractRaster<float> > >, std::unique_ptr<exactextract::AbstractRaster<double>, std::default_delete<exactextract::AbstractRaster<double> > >, std::unique_ptr<exactextract::AbstractRaster<signed char>, std::default_delete<exactextract::AbstractRaster<signed char> > >, std::unique_ptr<exactextract::AbstractRaster<short int>, std::default_delete<exactextract::AbstractRaster<short int> > >, std::unique_ptr<exactextract::AbstractRaster<int>, std::default_delete<exactextract::AbstractRaster<int> > >, std::unique_ptr<exactextract::AbstractRaster<long int>, std::default_delete<exactextract::AbstractRaster<long int> > > >&>, std::integer_sequence<long unsigned int> >::_S_apply()’
      /usr/include/c++/9/variant:894:19:   in ‘constexpr’ expansion of ‘std::__detail::__variant::__gen_vtable_impl<true, std::__detail::__variant::_Multi_array<exactextract::Feature::ValueType (*)(exactextract::OperationImpl<Derived>::result_type() const [with Derived = exactextract::Quantile]::<lambda(const auto:29&)>&&, const std::variant<std::unique_ptr<exactextract::AbstractRaster<float>, std::default_delete<exactextract::AbstractRaster<float> > >, std::unique_ptr<exactextract::AbstractRaster<double>, std::default_delete<exactextract::AbstractRaster<double> > >, std::unique_ptr<exactextract::AbstractRaster<signed char>, std::default_delete<exactextract::AbstractRaster<signed char> > >, std::unique_ptr<exactextract::AbstractRaster<short int>, std::default_delete<exactextract::AbstractRaster<short int> > >, std::unique_ptr<exactextract::AbstractRaster<int>, std::default_delete<exactextract::AbstractRaster<int> > >, std::unique_ptr<exactextract::AbstractRaster<long int>, std::default_delete<exactextract::AbstractRaster<long int> > > >&), 6>, std::tuple<const std::variant<std::unique_ptr<exactextract::AbstractRaster<float>, std::default_delete<exactextract::AbstractRaster<float> > >, std::unique_ptr<exactextract::AbstractRaster<double>, std::default_delete<exactextract::AbstractRaster<double> > >, std::unique_ptr<exactextract::AbstractRaster<signed char>, std::default_delete<exactextract::AbstractRaster<signed char> > >, std::unique_ptr<exactextract::AbstractRaster<short int>, std::default_delete<exactextract::AbstractRaster<short int> > >, std::unique_ptr<exactextract::AbstractRaster<int>, std::default_delete<exactextract::AbstractRaster<int> > >, std::unique_ptr<exactextract::AbstractRaster<long int>, std::default_delete<exactextract::AbstractRaster<long int> > > >&>, std::integer_sequence<long unsigned int> >::_S_apply_all_alts<0, 1, 2, 3, 4, 5>(__vtable, (std::make_index_sequence<6>(), std::make_index_sequence<6>()))’
      /home/weiqi_tori/GitHub/exactextract/src/operation.cpp:125:55: internal compiler error: in tsubst_copy, at cp/pt.c:15812
        125 |             using result_type = std::decay_t<decltype(static_cast<const Derived*>(this)->get(std::declval<RasterStats<value_type>>()))>;
            |                                                       ^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      Please submit a full bug report,
      with preprocessed source if appropriate.
      See <file:///usr/share/doc/gcc-9/README.Bugs> for instructions.
      [18/29] Building CXX object CMakeFiles/exactextract.dir/src/raster_sequential_processor.cpp.o
      [19/29] Building CXX object python/CMakeFiles/_exactextract.dir/src/pybindings/bindings.cpp.o
      [20/29] Building CXX object python/CMakeFiles/_exactextract.dir/src/pybindings/feature_bindings.cpp.o
      [21/29] Building CXX object CMakeFiles/exactextract.dir/src/stats_registry.cpp.o
      [22/29] Building CXX object CMakeFiles/exactextract.dir/src/utils.cpp.o
      ninja: build stopped: subcommand failed.

      *** CMake build failed
      [end of output]

  note: This error originates from a subprocess, and is likely not a problem with pip.
  ERROR: Failed building wheel for exactextract
Failed to build exactextract
ERROR: Could not build wheels for exactextract, which is required to install pyproject.toml-based projects

Handle polygons larger than raster extent

This will avoid nuisance errors in datasets like Natural Earth than sneak just outside of their nominal bounds (longitudes of 180.000000001, for example.) It also opens the door to tiled processing of a single polygon to minimize memory usage.

'variety' metric only works when its added first from the command line

I've encountered a phenomena where the 'variety' metric (and minority, majority, etc) only works if it's the first command line argument but doesn't work if, say, the 'mean' is the first command line argument. My c++ is very rusty but I assume it's because of whatever's going on here in stats_registry.h:

class StatsRegistry {
public:
RasterStats &stats(const std::string &feature, const Operation &op) {
// TODO come up with a better storage method.
auto& stats_for_feature = m_feature_stats[feature];

        // can't use find because this requires RasterStats to be copy-constructible before C++ 17
        auto exists = stats_for_feature.count(op_key(op));
        if (!exists) {
            // can't use emplace because this requires RasterStats be copy-constructible before C++17
            RasterStats<double> new_stats(requires_stored_values(op.stat));
            stats_for_feature[op_key(op)] = std::move(new_stats);
        }

        return stats_for_feature[op_key(op)];
    }

If I'm understanding that code correctly, a new instance of RasterStats replaces an old instance. The problem is that some instances are initialized with "requires_stored_values" as true and some as false. Specifically, variety is true and mean is false. I suspect that if variety happens to be first in the command line, then it somehow "wins" but if its last then it loses and we end up with a RasterStats instance that doesn't store values. The result is that all variety results end up being zero in the output and all minority/majority results end up being nan.

Specifically, this gives me the right result:
exactextract -r the_metric:/tmp/nlcd_2021_land_cover_l48_20230630_projected.tif[1] -p /tmp/h3_zoom4_part.1040.csv -f h3_index -s variety(the_metric) -s mean(the_metric) -s min(the_metric) -s max(the_metric) -s count(the_metric) -s sum(the_metric) -s minority(the_metric) -s majority(the_metric) -s variance(the_metric) -s stdev(the_metric) -s coefficient_of_variation(the_metric) -o /tmp/nlcd_2021_land_cover_l48_20230630_projected.tif.1.0.csv

This gives me the wrong result:
exactextract -r the_metric:/tmp/nlcd_2021_land_cover_l48_20230630_projected.tif[1] -p /tmp/h3_zoom4_part.1040.csv -f h3_index -s mean(the_metric) -s min(the_metric) -s max(the_metric) -s count(the_metric) -s sum(the_metric) -s minority(the_metric) -s majority(the_metric) -s variety(the_metric) -s variance(the_metric) -s stdev(the_metric) -s coefficient_of_variation(the_metric) -o /tmp/nlcd_2021_land_cover_l48_20230630_projected.tif.1.0.csv

The only thing that changed between those two was where I put "variety(the_metric)" in the ordering of command line arguments.

fwiw, if you can't already tell, I'm actually only using exactextractr for the command line version of exactextract inside it, which appears to be kept more up to date. In the original exactextract project, variety/majority/minority don't seem to work at all, regardless of command line order. Searching the code in the other project, it looks like nothing appears to actually use the requires_stored_values function at all, which I assume is the problem.

value type distribution within a polygon

If I have a raster contain cells with integer values (say 1 to 10), and I'd like to know the percentage cover for each value type, from a subset of the raster as determined by an sf polygon, how should I go about doing this? I'd like to return a vector containing percentages (one for each value type), for a given bounding polygon. I thought it would be something along the lines of:

exact_extract(raster, poly_sf, function(value) count(value)/no_of_cells_in_poly_sf)

But I'm not sure how to extend this to return a vector for the % cover for each value type. Thank you

Installation in Git Bash

After battling with the installation of the dependencies, I finally managed to build everything without errors. However, when trying to use the python bindings, I receive the following error in exactextract/__init__.py in the this line: from ._exactextract import __version__

ImportError: DLL load failed while importing _exactextract: The specified module could not be found.

Any idea what could have gone wrong? I also can't call exactextract from the command line.


For installation, I used the following command, switching the make command to cmake --build . as the make command failed for me (if anyone has an idea why no makefile is present, let me know). I also had to add the flag -DCMAKE_INSTALL_PREFIX:PATH=$HOME in order to avoid permission issues while installing. Could any of these changes be the culprit?

git clone git@github.com:isciences/exactextract.git dependencies/exactextract
cd dependencies/exactextract
mkdir cmake-build-release
cd cmake-build-release
cmake -DBUILD_CLI:=OFF -DBUILD_DOC:=OFF -DCMAKE_BUILD_TYPE=Release -DCMAKE_INSTALL_PREFIX:PATH=$HOME ..
# make    # gives error   'make: *** No targets specified and no makefile found.  Stop.'
cmake --build .

cd project_root/dependencies/exactextract
pip install .

Output histogram as tuple-formatted string as separate column?

If I'm reading the code in raster_stats.h correctly, it looks like you already have the count of whatever ends up being the majority and the minority cell value. It would be TREMENDOUSLY helpful if those counts could be output, themselves, as metrics, too, as a kind of histogram. For example, I'd run something like this:

exactextract -r the_metric:/root/tmpdata/USGS_NLCD.tif[1] -p /root/tmpdata/h3_res10_dfw.shp -f h3_cell -s majority(the_metric) -s hist(the_metric) -o /root/tmpdata/USGS_NLCD.csv

Where hist() outputs a json-formattted string of value:count pairs, like this: "[[12,1.5],[15,3.0],[25,4.75]]"

This would tell me not only which value was the majority, but also what its count was and what all the other values' counts were. This would be kind of buyer-beware in the sense that it might output unhelpfully-large histograms for rasters that aren't categorical. But it's tremendously useful for categorical data.

As long as you're in there, a simple majority_count() and minority_count() metric that is the count of the value that ended up winning would be super useful and nearly free, also, and easier to work with, depending on the circumstances.

In case it's helpful, my use case is that I'm processing zonal stats across lots of disjoint raster tiles, in parallel, and overlaying an h3 grid on top of them. Then, for cases where the h3 cell partially-overlaps two different tiles, I'd like to do some post-processing to determine the "true winner" of the majority. This would be a get-out-of-jail-free card for other kinds of post-processing, too, I imagine.

I'd make an attempt at a PR myself but, sadly, it's been ~30 years since the last time I wrote C++

No rule to make target `/lib.so', needed by `exactextract'

Hi all, I'm trying to build exactextract, but during make I first found that CL11.hpp was empty, I had to re-download it, then, after passing CLI11 issue, I get the following:

/zeus/opt/sources/exactextract/cmake-build-release
-- The C compiler identification is Intel 19.0.5.20190815
-- The CXX compiler identification is Intel 19.0.5.20190815
-- Check for working C compiler: /zeus/opt/intel_2019/intel/compilers_and_libraries_2019.5.281/linux/bin/intel64/icc
-- Check for working C compiler: /zeus/opt/intel_2019/intel/compilers_and_libraries_2019.5.281/linux/bin/intel64/icc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /zeus/opt/intel_2019/intel/compilers_and_libraries_2019.5.281/linux/bin/intel64/icpc
-- Check for working CXX compiler: /zeus/opt/intel_2019/intel/compilers_and_libraries_2019.5.281/linux/bin/intel64/icpc -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found GEOS: /usr/lib64/libgeos_c.so
-- Found GDAL: /lib.so
-- Source version: 271d4a4
-- Found Doxygen: /usr/bin/doxygen (found version "1.8.5") found components: doxygen missing components: dot
Doxygen build started
-- Configuring done
-- Generating done
-- Build files have been written to: /zeus/opt/sources/exactextract/cmake-build-release
--2020-02-05 11:48:45-- https://github.com/CLIUtils/CLI11/releases/download/v1.6.0/CLI11.hpp
Resolving github.com (github.com)... 140.82.118.4
Connecting to github.com (github.com)|140.82.118.4|:443... connected.
HTTP request sent, awaiting response... 302 Found
Location: https://github-production-release-asset-2e65be.s3.amazonaws.com/80064252/e6608e02-7ae1-11e8-8ce4-5fa18405c43b?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20200205%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200205T104845Z&X-Amz-Expires=300&X-Amz-Signature=cf68bccc54f907b95ed3465f9ce9a373604200ccb5278597abcfaaa552613126&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3DCLI11.hpp&response-content-type=application%2Foctet-stream [following]
--2020-02-05 11:48:45-- https://github-production-release-asset-2e65be.s3.amazonaws.com/80064252/e6608e02-7ae1-11e8-8ce4-5fa18405c43b?X-Amz-Algorithm=AWS4-HMAC-SHA256&X-Amz-Credential=AKIAIWNJYAX4CSVEH53A%2F20200205%2Fus-east-1%2Fs3%2Faws4_request&X-Amz-Date=20200205T104845Z&X-Amz-Expires=300&X-Amz-Signature=cf68bccc54f907b95ed3465f9ce9a373604200ccb5278597abcfaaa552613126&X-Amz-SignedHeaders=host&actor_id=0&response-content-disposition=attachment%3B%20filename%3DCLI11.hpp&response-content-type=application%2Foctet-stream
Resolving github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)... 52.216.98.123
Connecting to github-production-release-asset-2e65be.s3.amazonaws.com (github-production-release-asset-2e65be.s3.amazonaws.com)|52.216.98.123|:443... connected.
HTTP request sent, awaiting response... 200 OK
Length: 141529 (138K) [application/octet-stream]
Saving to: ‘CLI11.hpp’

100%[=================================================================================================>] 141,529 387KB/s in 0.4s

2020-02-05 11:48:46 (387 KB/s) - ‘CLI11.hpp’ saved [141529/141529]

************* MAKE *************
Scanning dependencies of target exactextract_STATIC
[ 2%] Building CXX object CMakeFiles/exactextract_STATIC.dir/src/area.cpp.o
[ 4%] Building CXX object CMakeFiles/exactextract_STATIC.dir/src/box.cpp.o
[ 6%] Building CXX object CMakeFiles/exactextract_STATIC.dir/src/cell.cpp.o
[ 8%] Building CXX object CMakeFiles/exactextract_STATIC.dir/src/coordinate.cpp.o
[ 10%] Building CXX object CMakeFiles/exactextract_STATIC.dir/src/floodfill.cpp.o
[ 12%] Building CXX object CMakeFiles/exactextract_STATIC.dir/src/geos_utils.cpp.o
[ 14%] Building CXX object CMakeFiles/exactextract_STATIC.dir/src/grid.cpp.o
[ 16%] Building CXX object CMakeFiles/exactextract_STATIC.dir/src/perimeter_distance.cpp.o
[ 18%] Building CXX object CMakeFiles/exactextract_STATIC.dir/src/raster_cell_intersection.cpp.o
[ 20%] Building CXX object CMakeFiles/exactextract_STATIC.dir/src/side.cpp.o
[ 22%] Building CXX object CMakeFiles/exactextract_STATIC.dir/src/traversal.cpp.o
[ 24%] Building CXX object CMakeFiles/exactextract_STATIC.dir/src/traversal_areas.cpp.o
[ 26%] Building CXX object CMakeFiles/exactextract_STATIC.dir/src/output_writer.cpp.o
[ 28%] Building CXX object CMakeFiles/exactextract_STATIC.dir/src/utils.cpp.o
[ 30%] Linking CXX static library libexactextract.a
[ 30%] Built target exactextract_STATIC
Scanning dependencies of target exactextract_bin
[ 32%] Building CXX object CMakeFiles/exactextract_bin.dir/src/exactextract.cpp.o
[ 34%] Building CXX object CMakeFiles/exactextract_bin.dir/src/gdal_raster_wrapper.cpp.o
[ 36%] Building CXX object CMakeFiles/exactextract_bin.dir/src/gdal_dataset_wrapper.cpp.o
[ 38%] Building CXX object CMakeFiles/exactextract_bin.dir/src/gdal_writer.cpp.o
[ 40%] Building CXX object CMakeFiles/exactextract_bin.dir/src/feature_sequential_processor.cpp.o
[ 42%] Building CXX object CMakeFiles/exactextract_bin.dir/src/raster_sequential_processor.cpp.o
make[2]: *** No rule to make target /lib.so', needed by exactextract'. Stop.
make[1]: *** [CMakeFiles/exactextract_bin.dir/all] Error 2
make: *** [all] Error 2

Can you help us?

enhancement, output multiple columns of the polygon dataset

Hi, thanks for the great package! I'm wondering if an enhancement of this command line program is possible. In the R package, we can output multiple columns of the input polygon dataset. However, for the command line program, we can only specify one -f column_name to be exported to the output CSV file. Is it possible to have multiple columns of the polygon dataset written in the output? Like the argument append_cols in the R function exact_extract?

I'm willing to try to help and contribute. But I'd like to hear about the feasibility of adding this function.

Cheers!

Installation error on HPC system related to GCC

I'm encountering problems installing exactextract on my university's linux cluster.

After loading modules of the dependencies listed, the list of loaded modules is the following:

  1) geos/3.8.1   2) proj/6.0.0   3) gdal/3.1.0   4) gmp/6.1.2   5) mpfr/4.0.2   6) mpc/1.1.0   7) cmake/3.16.0-rc4   8) gcc/9.2.0

Even though the loaded GCC version appears to be 9.2.0, I get the following output and error when attempting to install exactextract following the precise instructions in the README:

$  cmake -DCMAKE_BUILD_TYPE=Release ..
-- The C compiler identification is GNU 4.8.5
-- The CXX compiler identification is GNU 4.8.5
-- Check for working C compiler: /usr/bin/cc
-- Check for working C compiler: /usr/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /usr/bin/c++
-- Check for working CXX compiler: /usr/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
CMake Error at CMakeLists.txt:16 (message):
  gcc 5.0+ is required to build exactextract

-- Configuring incomplete, errors occurred!
See also "<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeOutput.log".

It says “The C compiler identification is GNU 4.8.5” and “gcc 5.0+ is required to build exactextract”, which doesn’t seem to match the loaded version 9.2.0 compiler…

CMakeOutput.log file content:

Click to expand log file content
The system is: Linux - 3.10.0-1062.1.2.el7.x86_64 - x86_64
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
Compiler: /usr/bin/cc 
Build flags: 
Id flags:  

The output was:
0


Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"

The C compiler identification is GNU, found in "/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/3.16.5/CompilerIdC/a.out"

Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
Compiler: /usr/bin/c++ 
Build flags: 
Id flags:  

The output was:
0


Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"

The CXX compiler identification is GNU, found in "/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/3.16.5/CompilerIdCXX/a.out"

Determining if the C compiler works passed with the following output:
Change Dir: /gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/gmake cmTC_cf159/fast && /usr/bin/gmake -f CMakeFiles/cmTC_cf159.dir/build.make CMakeFiles/cmTC_cf159.dir/build
gmake[1]: Entering directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_cf159.dir/testCCompiler.c.o
/usr/bin/cc    -o CMakeFiles/cmTC_cf159.dir/testCCompiler.c.o   -c /gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTC_cf159
/gpfs/software/ada/cmake/cmake-3.16.5-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_cf159.dir/link.txt --verbose=1
/usr/bin/cc    -L/gpfs/software/ada/geos/3.8.1/lib -L/gpfs/software/ada/gdal/3.1.0/lib -L/gpfs/software/ada/proj/6.0.0/lib  CMakeFiles/cmTC_cf159.dir/testCCompiler.c.o  -o cmTC_cf159 
gmake[1]: Leaving directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp'



Detecting C compiler ABI info compiled with the following output:
Change Dir: /gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/gmake cmTC_e8a21/fast && /usr/bin/gmake -f CMakeFiles/cmTC_e8a21.dir/build.make CMakeFiles/cmTC_e8a21.dir/build
gmake[1]: Entering directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_e8a21.dir/CMakeCCompilerABI.c.o
/usr/bin/cc   -v -o CMakeFiles/cmTC_e8a21.dir/CMakeCCompilerABI.c.o   -c /gpfs/software/ada/cmake/cmake-3.16.5-Linux-x86_64/share/cmake-3.16/Modules/CMakeCCompilerABI.c
Using built-in specs.
COLLECT_GCC=/usr/bin/cc
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e8a21.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
 /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1 -quiet -v /gpfs/software/ada/cmake/cmake-3.16.5-Linux-x86_64/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_e8a21.dir/CMakeCCompilerABI.c.o -version -o /tmp/ccMKpexp.s
GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)
	compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1
warning: GMP header version 6.0.0 differs from library version 6.1.2.
warning: MPC header version 1.0.1 differs from library version 1.1.0.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include"
ignoring duplicate directory "/gpfs/software/ada/proj/6.0.0/include"
  as it is a non-system directory that duplicates a system directory
#include "..." search starts here:
#include <...> search starts here:
 /gpfs/software/ada/mpc/1.1.0/include
 /gpfs/software/ada/mpfr/4.0.2/include
 /gpfs/software/ada/gmp/6.1.2/include
 /gpfs/software/ada/proj/6.0.0/include
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include
 /usr/local/include
 /usr/include
End of search list.
GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)
	compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1
warning: GMP header version 6.0.0 differs from library version 6.1.2.
warning: MPC header version 1.0.1 differs from library version 1.1.0.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: c0b461ba69dba093bfc939a7fa8b7724
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e8a21.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
 as -v --64 -o CMakeFiles/cmTC_e8a21.dir/CMakeCCompilerABI.c.o /tmp/ccMKpexp.s
GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-34.base.el7
COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/
LIBRARY_PATH=/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/gpfs/software/ada/mpc/1.1.0/lib/:/gpfs/software/ada/mpfr/4.0.2/lib/:/gpfs/software/ada/gmp/6.1.2/lib/:/gpfs/software/ada/compilers/gcc/9.2.0/lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e8a21.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
Linking C executable cmTC_e8a21
/gpfs/software/ada/cmake/cmake-3.16.5-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e8a21.dir/link.txt --verbose=1
/usr/bin/cc    -L/gpfs/software/ada/geos/3.8.1/lib -L/gpfs/software/ada/gdal/3.1.0/lib -L/gpfs/software/ada/proj/6.0.0/lib -v CMakeFiles/cmTC_e8a21.dir/CMakeCCompilerABI.c.o  -o cmTC_e8a21 
Using built-in specs.
COLLECT_GCC=/usr/bin/cc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/
LIBRARY_PATH=/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/gpfs/software/ada/mpc/1.1.0/lib/:/gpfs/software/ada/mpfr/4.0.2/lib/:/gpfs/software/ada/gmp/6.1.2/lib/:/gpfs/software/ada/compilers/gcc/9.2.0/lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-L/gpfs/software/ada/geos/3.8.1/lib' '-L/gpfs/software/ada/gdal/3.1.0/lib' '-L/gpfs/software/ada/proj/6.0.0/lib' '-v' '-o' 'cmTC_e8a21' '-mtune=generic' '-march=x86-64'
 /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_e8a21 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/gpfs/software/ada/geos/3.8.1/lib -L/gpfs/software/ada/gdal/3.1.0/lib -L/gpfs/software/ada/proj/6.0.0/lib -L/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64 -L/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/gpfs/software/ada/mpc/1.1.0/lib -L/gpfs/software/ada/mpfr/4.0.2/lib -L/gpfs/software/ada/gmp/6.1.2/lib -L/gpfs/software/ada/compilers/gcc/9.2.0/lib64 -L/gpfs/software/ada/compilers/gcc/9.2.0/lib -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_e8a21.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o
gmake[1]: Leaving directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp'



Parsed C implicit include dir info from above output: rv=done
  found start of include info
  found start of implicit include info
    add: [/gpfs/software/ada/mpc/1.1.0/include]
    add: [/gpfs/software/ada/mpfr/4.0.2/include]
    add: [/gpfs/software/ada/gmp/6.1.2/include]
    add: [/gpfs/software/ada/proj/6.0.0/include]
    add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include]
    add: [/usr/local/include]
    add: [/usr/include]
  end of search list found
  collapse include dir [/gpfs/software/ada/mpc/1.1.0/include] ==> [/gpfs/software/ada/mpc/1.1.0/include]
  collapse include dir [/gpfs/software/ada/mpfr/4.0.2/include] ==> [/gpfs/software/ada/mpfr/4.0.2/include]
  collapse include dir [/gpfs/software/ada/gmp/6.1.2/include] ==> [/gpfs/software/ada/gmp/6.1.2/include]
  collapse include dir [/gpfs/software/ada/proj/6.0.0/include] ==> [/gpfs/software/ada/proj/6.0.0/include]
  collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include]
  collapse include dir [/usr/local/include] ==> [/usr/local/include]
  collapse include dir [/usr/include] ==> [/usr/include]
  implicit include dirs: [/gpfs/software/ada/mpc/1.1.0/include;/gpfs/software/ada/mpfr/4.0.2/include;/gpfs/software/ada/gmp/6.1.2/include;/gpfs/software/ada/proj/6.0.0/include;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include;/usr/local/include;/usr/include]


Parsed C implicit link information from above output:
  link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
  ignore line: [Change Dir: /gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp]
  ignore line: []
  ignore line: [Run Build Command(s):/usr/bin/gmake cmTC_e8a21/fast && /usr/bin/gmake -f CMakeFiles/cmTC_e8a21.dir/build.make CMakeFiles/cmTC_e8a21.dir/build]
  ignore line: [gmake[1]: Entering directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp']
  ignore line: [Building C object CMakeFiles/cmTC_e8a21.dir/CMakeCCompilerABI.c.o]
  ignore line: [/usr/bin/cc   -v -o CMakeFiles/cmTC_e8a21.dir/CMakeCCompilerABI.c.o   -c /gpfs/software/ada/cmake/cmake-3.16.5-Linux-x86_64/share/cmake-3.16/Modules/CMakeCCompilerABI.c]
  ignore line: [Using built-in specs.]
  ignore line: [COLLECT_GCC=/usr/bin/cc]
  ignore line: [Target: x86_64-redhat-linux]
  ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux]
  ignore line: [Thread model: posix]
  ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ]
  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e8a21.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
  ignore line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1 -quiet -v /gpfs/software/ada/cmake/cmake-3.16.5-Linux-x86_64/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_e8a21.dir/CMakeCCompilerABI.c.o -version -o /tmp/ccMKpexp.s]
  ignore line: [GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)]
  ignore line: [	compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36)  GMP version 6.0.0  MPFR version 3.1.1  MPC version 1.0.1]
  ignore line: [warning: GMP header version 6.0.0 differs from library version 6.1.2.]
  ignore line: [warning: MPC header version 1.0.1 differs from library version 1.1.0.]
  ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
  ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed"]
  ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include"]
  ignore line: [ignoring duplicate directory "/gpfs/software/ada/proj/6.0.0/include"]
  ignore line: [  as it is a non-system directory that duplicates a system directory]
  ignore line: [#include "..." search starts here:]
  ignore line: [#include <...> search starts here:]
  ignore line: [ /gpfs/software/ada/mpc/1.1.0/include]
  ignore line: [ /gpfs/software/ada/mpfr/4.0.2/include]
  ignore line: [ /gpfs/software/ada/gmp/6.1.2/include]
  ignore line: [ /gpfs/software/ada/proj/6.0.0/include]
  ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include]
  ignore line: [ /usr/local/include]
  ignore line: [ /usr/include]
  ignore line: [End of search list.]
  ignore line: [GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)]
  ignore line: [	compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36)  GMP version 6.0.0  MPFR version 3.1.1  MPC version 1.0.1]
  ignore line: [warning: GMP header version 6.0.0 differs from library version 6.1.2.]
  ignore line: [warning: MPC header version 1.0.1 differs from library version 1.1.0.]
  ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
  ignore line: [Compiler executable checksum: c0b461ba69dba093bfc939a7fa8b7724]
  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e8a21.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
  ignore line: [ as -v --64 -o CMakeFiles/cmTC_e8a21.dir/CMakeCCompilerABI.c.o /tmp/ccMKpexp.s]
  ignore line: [GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-34.base.el7]
  ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/]
  ignore line: [LIBRARY_PATH=/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/gpfs/software/ada/mpc/1.1.0/lib/:/gpfs/software/ada/mpfr/4.0.2/lib/:/gpfs/software/ada/gmp/6.1.2/lib/:/gpfs/software/ada/compilers/gcc/9.2.0/lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/]
  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_e8a21.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
  ignore line: [Linking C executable cmTC_e8a21]
  ignore line: [/gpfs/software/ada/cmake/cmake-3.16.5-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e8a21.dir/link.txt --verbose=1]
  ignore line: [/usr/bin/cc    -L/gpfs/software/ada/geos/3.8.1/lib -L/gpfs/software/ada/gdal/3.1.0/lib -L/gpfs/software/ada/proj/6.0.0/lib -v CMakeFiles/cmTC_e8a21.dir/CMakeCCompilerABI.c.o  -o cmTC_e8a21 ]
  ignore line: [Using built-in specs.]
  ignore line: [COLLECT_GCC=/usr/bin/cc]
  ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper]
  ignore line: [Target: x86_64-redhat-linux]
  ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux]
  ignore line: [Thread model: posix]
  ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ]
  ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/]
  ignore line: [LIBRARY_PATH=/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/gpfs/software/ada/mpc/1.1.0/lib/:/gpfs/software/ada/mpfr/4.0.2/lib/:/gpfs/software/ada/gmp/6.1.2/lib/:/gpfs/software/ada/compilers/gcc/9.2.0/lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/]
  ignore line: [COLLECT_GCC_OPTIONS='-L/gpfs/software/ada/geos/3.8.1/lib' '-L/gpfs/software/ada/gdal/3.1.0/lib' '-L/gpfs/software/ada/proj/6.0.0/lib' '-v' '-o' 'cmTC_e8a21' '-mtune=generic' '-march=x86-64']
  link line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_e8a21 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/gpfs/software/ada/geos/3.8.1/lib -L/gpfs/software/ada/gdal/3.1.0/lib -L/gpfs/software/ada/proj/6.0.0/lib -L/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64 -L/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/gpfs/software/ada/mpc/1.1.0/lib -L/gpfs/software/ada/mpfr/4.0.2/lib -L/gpfs/software/ada/gmp/6.1.2/lib -L/gpfs/software/ada/compilers/gcc/9.2.0/lib64 -L/gpfs/software/ada/compilers/gcc/9.2.0/lib -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_e8a21.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o]
    arg [/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2] ==> ignore
    arg [--build-id] ==> ignore
    arg [--no-add-needed] ==> ignore
    arg [--eh-frame-hdr] ==> ignore
    arg [--hash-style=gnu] ==> ignore
    arg [-m] ==> ignore
    arg [elf_x86_64] ==> ignore
    arg [-dynamic-linker] ==> ignore
    arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
    arg [-o] ==> ignore
    arg [cmTC_e8a21] ==> ignore
    arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o] ==> ignore
    arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o] ==> ignore
    arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o] ==> ignore
    arg [-L/gpfs/software/ada/geos/3.8.1/lib] ==> dir [/gpfs/software/ada/geos/3.8.1/lib]
    arg [-L/gpfs/software/ada/gdal/3.1.0/lib] ==> dir [/gpfs/software/ada/gdal/3.1.0/lib]
    arg [-L/gpfs/software/ada/proj/6.0.0/lib] ==> dir [/gpfs/software/ada/proj/6.0.0/lib]
    arg [-L/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64] ==> dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64]
    arg [-L/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64] ==> dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64]
    arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5]
    arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64]
    arg [-L/lib/../lib64] ==> dir [/lib/../lib64]
    arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64]
    arg [-L/gpfs/software/ada/mpc/1.1.0/lib] ==> dir [/gpfs/software/ada/mpc/1.1.0/lib]
    arg [-L/gpfs/software/ada/mpfr/4.0.2/lib] ==> dir [/gpfs/software/ada/mpfr/4.0.2/lib]
    arg [-L/gpfs/software/ada/gmp/6.1.2/lib] ==> dir [/gpfs/software/ada/gmp/6.1.2/lib]
    arg [-L/gpfs/software/ada/compilers/gcc/9.2.0/lib64] ==> dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib64]
    arg [-L/gpfs/software/ada/compilers/gcc/9.2.0/lib] ==> dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib]
    arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..]
    arg [CMakeFiles/cmTC_e8a21.dir/CMakeCCompilerABI.c.o] ==> ignore
    arg [-lgcc] ==> lib [gcc]
    arg [--as-needed] ==> ignore
    arg [-lgcc_s] ==> lib [gcc_s]
    arg [--no-as-needed] ==> ignore
    arg [-lc] ==> lib [c]
    arg [-lgcc] ==> lib [gcc]
    arg [--as-needed] ==> ignore
    arg [-lgcc_s] ==> lib [gcc_s]
    arg [--no-as-needed] ==> ignore
    arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o] ==> ignore
    arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] ==> ignore
  collapse library dir [/gpfs/software/ada/geos/3.8.1/lib] ==> [/gpfs/software/ada/geos/3.8.1/lib]
  collapse library dir [/gpfs/software/ada/gdal/3.1.0/lib] ==> [/gpfs/software/ada/gdal/3.1.0/lib]
  collapse library dir [/gpfs/software/ada/proj/6.0.0/lib] ==> [/gpfs/software/ada/proj/6.0.0/lib]
  collapse library dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64] ==> [/gpfs/software/ada/compilers/gcc/9.2.0/lib64]
  collapse library dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64] ==> [/gpfs/software/ada/compilers/gcc/9.2.0/lib64]
  collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5]
  collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> [/usr/lib64]
  collapse library dir [/lib/../lib64] ==> [/lib64]
  collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64]
  collapse library dir [/gpfs/software/ada/mpc/1.1.0/lib] ==> [/gpfs/software/ada/mpc/1.1.0/lib]
  collapse library dir [/gpfs/software/ada/mpfr/4.0.2/lib] ==> [/gpfs/software/ada/mpfr/4.0.2/lib]
  collapse library dir [/gpfs/software/ada/gmp/6.1.2/lib] ==> [/gpfs/software/ada/gmp/6.1.2/lib]
  collapse library dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib64] ==> [/gpfs/software/ada/compilers/gcc/9.2.0/lib64]
  collapse library dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib] ==> [/gpfs/software/ada/compilers/gcc/9.2.0/lib]
  collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> [/usr/lib]
  implicit libs: [gcc;gcc_s;c;gcc;gcc_s]
  implicit dirs: [/gpfs/software/ada/geos/3.8.1/lib;/gpfs/software/ada/gdal/3.1.0/lib;/gpfs/software/ada/proj/6.0.0/lib;/gpfs/software/ada/compilers/gcc/9.2.0/lib64;/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/gpfs/software/ada/mpc/1.1.0/lib;/gpfs/software/ada/mpfr/4.0.2/lib;/gpfs/software/ada/gmp/6.1.2/lib;/gpfs/software/ada/compilers/gcc/9.2.0/lib;/usr/lib]
  implicit fwks: []


Determining if the CXX compiler works passed with the following output:
Change Dir: /gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/gmake cmTC_0486c/fast && /usr/bin/gmake -f CMakeFiles/cmTC_0486c.dir/build.make CMakeFiles/cmTC_0486c.dir/build
gmake[1]: Entering directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_0486c.dir/testCXXCompiler.cxx.o
/usr/bin/c++     -o CMakeFiles/cmTC_0486c.dir/testCXXCompiler.cxx.o -c /gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
Linking CXX executable cmTC_0486c
/gpfs/software/ada/cmake/cmake-3.16.5-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0486c.dir/link.txt --verbose=1
/usr/bin/c++     -L/gpfs/software/ada/geos/3.8.1/lib -L/gpfs/software/ada/gdal/3.1.0/lib -L/gpfs/software/ada/proj/6.0.0/lib  CMakeFiles/cmTC_0486c.dir/testCXXCompiler.cxx.o  -o cmTC_0486c 
gmake[1]: Leaving directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp'



Detecting CXX compiler ABI info compiled with the following output:
Change Dir: /gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/gmake cmTC_2b6c4/fast && /usr/bin/gmake -f CMakeFiles/cmTC_2b6c4.dir/build.make CMakeFiles/cmTC_2b6c4.dir/build
gmake[1]: Entering directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_2b6c4.dir/CMakeCXXCompilerABI.cpp.o
/usr/bin/c++    -v -o CMakeFiles/cmTC_2b6c4.dir/CMakeCXXCompilerABI.cpp.o -c /gpfs/software/ada/cmake/cmake-3.16.5-Linux-x86_64/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp
Using built-in specs.
COLLECT_GCC=/usr/bin/c++
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2b6c4.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1plus -quiet -v -D_GNU_SOURCE /gpfs/software/ada/cmake/cmake-3.16.5-Linux-x86_64/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_2b6c4.dir/CMakeCXXCompilerABI.cpp.o -version -o /tmp/cckDiqYM.s
GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)
	compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1
warning: GMP header version 6.0.0 differs from library version 6.1.2.
warning: MPC header version 1.0.1 differs from library version 1.1.0.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include"
#include "..." search starts here:
#include <...> search starts here:
 /gpfs/software/ada/proj/6.0.0/include
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include
 /usr/local/include
 /usr/include
End of search list.
GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)
	compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1
warning: GMP header version 6.0.0 differs from library version 6.1.2.
warning: MPC header version 1.0.1 differs from library version 1.1.0.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 716696aeb8e1265fe923bf392b1dfb5e
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2b6c4.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 as -v --64 -o CMakeFiles/cmTC_2b6c4.dir/CMakeCXXCompilerABI.cpp.o /tmp/cckDiqYM.s
GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-34.base.el7
COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/
LIBRARY_PATH=/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/gpfs/software/ada/mpc/1.1.0/lib/:/gpfs/software/ada/mpfr/4.0.2/lib/:/gpfs/software/ada/gmp/6.1.2/lib/:/gpfs/software/ada/compilers/gcc/9.2.0/lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2b6c4.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
Linking CXX executable cmTC_2b6c4
/gpfs/software/ada/cmake/cmake-3.16.5-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2b6c4.dir/link.txt --verbose=1
/usr/bin/c++     -L/gpfs/software/ada/geos/3.8.1/lib -L/gpfs/software/ada/gdal/3.1.0/lib -L/gpfs/software/ada/proj/6.0.0/lib -v CMakeFiles/cmTC_2b6c4.dir/CMakeCXXCompilerABI.cpp.o  -o cmTC_2b6c4 
Using built-in specs.
COLLECT_GCC=/usr/bin/c++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/
LIBRARY_PATH=/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/gpfs/software/ada/mpc/1.1.0/lib/:/gpfs/software/ada/mpfr/4.0.2/lib/:/gpfs/software/ada/gmp/6.1.2/lib/:/gpfs/software/ada/compilers/gcc/9.2.0/lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-L/gpfs/software/ada/geos/3.8.1/lib' '-L/gpfs/software/ada/gdal/3.1.0/lib' '-L/gpfs/software/ada/proj/6.0.0/lib' '-v' '-o' 'cmTC_2b6c4' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_2b6c4 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/gpfs/software/ada/geos/3.8.1/lib -L/gpfs/software/ada/gdal/3.1.0/lib -L/gpfs/software/ada/proj/6.0.0/lib -L/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64 -L/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/gpfs/software/ada/mpc/1.1.0/lib -L/gpfs/software/ada/mpfr/4.0.2/lib -L/gpfs/software/ada/gmp/6.1.2/lib -L/gpfs/software/ada/compilers/gcc/9.2.0/lib64 -L/gpfs/software/ada/compilers/gcc/9.2.0/lib -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_2b6c4.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o
gmake[1]: Leaving directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp'



Parsed CXX implicit include dir info from above output: rv=done
  found start of include info
  found start of implicit include info
    add: [/gpfs/software/ada/proj/6.0.0/include]
    add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5]
    add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux]
    add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward]
    add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include]
    add: [/usr/local/include]
    add: [/usr/include]
  end of search list found
  collapse include dir [/gpfs/software/ada/proj/6.0.0/include] ==> [/gpfs/software/ada/proj/6.0.0/include]
  collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5] ==> [/usr/include/c++/4.8.5]
  collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux] ==> [/usr/include/c++/4.8.5/x86_64-redhat-linux]
  collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward] ==> [/usr/include/c++/4.8.5/backward]
  collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include]
  collapse include dir [/usr/local/include] ==> [/usr/local/include]
  collapse include dir [/usr/include] ==> [/usr/include]
  implicit include dirs: [/gpfs/software/ada/proj/6.0.0/include;/usr/include/c++/4.8.5;/usr/include/c++/4.8.5/x86_64-redhat-linux;/usr/include/c++/4.8.5/backward;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include;/usr/local/include;/usr/include]


Parsed CXX implicit link information from above output:
  link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
  ignore line: [Change Dir: /gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp]
  ignore line: []
  ignore line: [Run Build Command(s):/usr/bin/gmake cmTC_2b6c4/fast && /usr/bin/gmake -f CMakeFiles/cmTC_2b6c4.dir/build.make CMakeFiles/cmTC_2b6c4.dir/build]
  ignore line: [gmake[1]: Entering directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp']
  ignore line: [Building CXX object CMakeFiles/cmTC_2b6c4.dir/CMakeCXXCompilerABI.cpp.o]
  ignore line: [/usr/bin/c++    -v -o CMakeFiles/cmTC_2b6c4.dir/CMakeCXXCompilerABI.cpp.o -c /gpfs/software/ada/cmake/cmake-3.16.5-Linux-x86_64/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp]
  ignore line: [Using built-in specs.]
  ignore line: [COLLECT_GCC=/usr/bin/c++]
  ignore line: [Target: x86_64-redhat-linux]
  ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux]
  ignore line: [Thread model: posix]
  ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ]
  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2b6c4.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
  ignore line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1plus -quiet -v -D_GNU_SOURCE /gpfs/software/ada/cmake/cmake-3.16.5-Linux-x86_64/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_2b6c4.dir/CMakeCXXCompilerABI.cpp.o -version -o /tmp/cckDiqYM.s]
  ignore line: [GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)]
  ignore line: [	compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36)  GMP version 6.0.0  MPFR version 3.1.1  MPC version 1.0.1]
  ignore line: [warning: GMP header version 6.0.0 differs from library version 6.1.2.]
  ignore line: [warning: MPC header version 1.0.1 differs from library version 1.1.0.]
  ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
  ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed"]
  ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include"]
  ignore line: [#include "..." search starts here:]
  ignore line: [#include <...> search starts here:]
  ignore line: [ /gpfs/software/ada/proj/6.0.0/include]
  ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5]
  ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux]
  ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward]
  ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include]
  ignore line: [ /usr/local/include]
  ignore line: [ /usr/include]
  ignore line: [End of search list.]
  ignore line: [GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)]
  ignore line: [	compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36)  GMP version 6.0.0  MPFR version 3.1.1  MPC version 1.0.1]
  ignore line: [warning: GMP header version 6.0.0 differs from library version 6.1.2.]
  ignore line: [warning: MPC header version 1.0.1 differs from library version 1.1.0.]
  ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
  ignore line: [Compiler executable checksum: 716696aeb8e1265fe923bf392b1dfb5e]
  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2b6c4.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
  ignore line: [ as -v --64 -o CMakeFiles/cmTC_2b6c4.dir/CMakeCXXCompilerABI.cpp.o /tmp/cckDiqYM.s]
  ignore line: [GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-34.base.el7]
  ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/]
  ignore line: [LIBRARY_PATH=/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/gpfs/software/ada/mpc/1.1.0/lib/:/gpfs/software/ada/mpfr/4.0.2/lib/:/gpfs/software/ada/gmp/6.1.2/lib/:/gpfs/software/ada/compilers/gcc/9.2.0/lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/]
  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_2b6c4.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
  ignore line: [Linking CXX executable cmTC_2b6c4]
  ignore line: [/gpfs/software/ada/cmake/cmake-3.16.5-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2b6c4.dir/link.txt --verbose=1]
  ignore line: [/usr/bin/c++     -L/gpfs/software/ada/geos/3.8.1/lib -L/gpfs/software/ada/gdal/3.1.0/lib -L/gpfs/software/ada/proj/6.0.0/lib -v CMakeFiles/cmTC_2b6c4.dir/CMakeCXXCompilerABI.cpp.o  -o cmTC_2b6c4 ]
  ignore line: [Using built-in specs.]
  ignore line: [COLLECT_GCC=/usr/bin/c++]
  ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper]
  ignore line: [Target: x86_64-redhat-linux]
  ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux]
  ignore line: [Thread model: posix]
  ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ]
  ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/]
  ignore line: [LIBRARY_PATH=/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/gpfs/software/ada/mpc/1.1.0/lib/:/gpfs/software/ada/mpfr/4.0.2/lib/:/gpfs/software/ada/gmp/6.1.2/lib/:/gpfs/software/ada/compilers/gcc/9.2.0/lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/]
  ignore line: [COLLECT_GCC_OPTIONS='-L/gpfs/software/ada/geos/3.8.1/lib' '-L/gpfs/software/ada/gdal/3.1.0/lib' '-L/gpfs/software/ada/proj/6.0.0/lib' '-v' '-o' 'cmTC_2b6c4' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
  link line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_2b6c4 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/gpfs/software/ada/geos/3.8.1/lib -L/gpfs/software/ada/gdal/3.1.0/lib -L/gpfs/software/ada/proj/6.0.0/lib -L/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64 -L/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/gpfs/software/ada/mpc/1.1.0/lib -L/gpfs/software/ada/mpfr/4.0.2/lib -L/gpfs/software/ada/gmp/6.1.2/lib -L/gpfs/software/ada/compilers/gcc/9.2.0/lib64 -L/gpfs/software/ada/compilers/gcc/9.2.0/lib -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_2b6c4.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o]
    arg [/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2] ==> ignore
    arg [--build-id] ==> ignore
    arg [--no-add-needed] ==> ignore
    arg [--eh-frame-hdr] ==> ignore
    arg [--hash-style=gnu] ==> ignore
    arg [-m] ==> ignore
    arg [elf_x86_64] ==> ignore
    arg [-dynamic-linker] ==> ignore
    arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
    arg [-o] ==> ignore
    arg [cmTC_2b6c4] ==> ignore
    arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o] ==> ignore
    arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o] ==> ignore
    arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o] ==> ignore
    arg [-L/gpfs/software/ada/geos/3.8.1/lib] ==> dir [/gpfs/software/ada/geos/3.8.1/lib]
    arg [-L/gpfs/software/ada/gdal/3.1.0/lib] ==> dir [/gpfs/software/ada/gdal/3.1.0/lib]
    arg [-L/gpfs/software/ada/proj/6.0.0/lib] ==> dir [/gpfs/software/ada/proj/6.0.0/lib]
    arg [-L/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64] ==> dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64]
    arg [-L/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64] ==> dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64]
    arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5]
    arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64]
    arg [-L/lib/../lib64] ==> dir [/lib/../lib64]
    arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64]
    arg [-L/gpfs/software/ada/mpc/1.1.0/lib] ==> dir [/gpfs/software/ada/mpc/1.1.0/lib]
    arg [-L/gpfs/software/ada/mpfr/4.0.2/lib] ==> dir [/gpfs/software/ada/mpfr/4.0.2/lib]
    arg [-L/gpfs/software/ada/gmp/6.1.2/lib] ==> dir [/gpfs/software/ada/gmp/6.1.2/lib]
    arg [-L/gpfs/software/ada/compilers/gcc/9.2.0/lib64] ==> dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib64]
    arg [-L/gpfs/software/ada/compilers/gcc/9.2.0/lib] ==> dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib]
    arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..]
    arg [CMakeFiles/cmTC_2b6c4.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
    arg [-lstdc++] ==> lib [stdc++]
    arg [-lm] ==> lib [m]
    arg [-lgcc_s] ==> lib [gcc_s]
    arg [-lgcc] ==> lib [gcc]
    arg [-lc] ==> lib [c]
    arg [-lgcc_s] ==> lib [gcc_s]
    arg [-lgcc] ==> lib [gcc]
    arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o] ==> ignore
    arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] ==> ignore
  collapse library dir [/gpfs/software/ada/geos/3.8.1/lib] ==> [/gpfs/software/ada/geos/3.8.1/lib]
  collapse library dir [/gpfs/software/ada/gdal/3.1.0/lib] ==> [/gpfs/software/ada/gdal/3.1.0/lib]
  collapse library dir [/gpfs/software/ada/proj/6.0.0/lib] ==> [/gpfs/software/ada/proj/6.0.0/lib]
  collapse library dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64] ==> [/gpfs/software/ada/compilers/gcc/9.2.0/lib64]
  collapse library dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64] ==> [/gpfs/software/ada/compilers/gcc/9.2.0/lib64]
  collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5]
  collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> [/usr/lib64]
  collapse library dir [/lib/../lib64] ==> [/lib64]
  collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64]
  collapse library dir [/gpfs/software/ada/mpc/1.1.0/lib] ==> [/gpfs/software/ada/mpc/1.1.0/lib]
  collapse library dir [/gpfs/software/ada/mpfr/4.0.2/lib] ==> [/gpfs/software/ada/mpfr/4.0.2/lib]
  collapse library dir [/gpfs/software/ada/gmp/6.1.2/lib] ==> [/gpfs/software/ada/gmp/6.1.2/lib]
  collapse library dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib64] ==> [/gpfs/software/ada/compilers/gcc/9.2.0/lib64]
  collapse library dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib] ==> [/gpfs/software/ada/compilers/gcc/9.2.0/lib]
  collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> [/usr/lib]
  implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc]
  implicit dirs: [/gpfs/software/ada/geos/3.8.1/lib;/gpfs/software/ada/gdal/3.1.0/lib;/gpfs/software/ada/proj/6.0.0/lib;/gpfs/software/ada/compilers/gcc/9.2.0/lib64;/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/gpfs/software/ada/mpc/1.1.0/lib;/gpfs/software/ada/mpfr/4.0.2/lib;/gpfs/software/ada/gmp/6.1.2/lib;/gpfs/software/ada/compilers/gcc/9.2.0/lib;/usr/lib]
  implicit fwks: []




Detecting CXX [-std=c++1y] compiler features compiled with the following output:
Change Dir: /gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/gmake cmTC_8fc07/fast && /usr/bin/gmake -f CMakeFiles/cmTC_8fc07.dir/build.make CMakeFiles/cmTC_8fc07.dir/build
gmake[1]: Entering directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_8fc07.dir/feature_tests.cxx.o
/usr/bin/c++    -std=c++1y -o CMakeFiles/cmTC_8fc07.dir/feature_tests.cxx.o -c /gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/feature_tests.cxx
Linking CXX executable cmTC_8fc07
/gpfs/software/ada/cmake/cmake-3.16.5-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_8fc07.dir/link.txt --verbose=1
/usr/bin/c++     -L/gpfs/software/ada/geos/3.8.1/lib -L/gpfs/software/ada/gdal/3.1.0/lib -L/gpfs/software/ada/proj/6.0.0/lib  CMakeFiles/cmTC_8fc07.dir/feature_tests.cxx.o  -o cmTC_8fc07 
gmake[1]: Leaving directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp'



    Feature record: CXX_FEATURE:1cxx_template_template_parameters
    Feature record: CXX_FEATURE:1cxx_alias_templates
    Feature record: CXX_FEATURE:1cxx_alignas
    Feature record: CXX_FEATURE:1cxx_alignof
    Feature record: CXX_FEATURE:1cxx_attributes
    Feature record: CXX_FEATURE:1cxx_auto_type
    Feature record: CXX_FEATURE:1cxx_constexpr
    Feature record: CXX_FEATURE:1cxx_decltype
    Feature record: CXX_FEATURE:1cxx_decltype_incomplete_return_types
    Feature record: CXX_FEATURE:1cxx_default_function_template_args
    Feature record: CXX_FEATURE:1cxx_defaulted_functions
    Feature record: CXX_FEATURE:1cxx_defaulted_move_initializers
    Feature record: CXX_FEATURE:1cxx_delegating_constructors
    Feature record: CXX_FEATURE:1cxx_deleted_functions
    Feature record: CXX_FEATURE:1cxx_enum_forward_declarations
    Feature record: CXX_FEATURE:1cxx_explicit_conversions
    Feature record: CXX_FEATURE:1cxx_extended_friend_declarations
    Feature record: CXX_FEATURE:1cxx_extern_templates
    Feature record: CXX_FEATURE:1cxx_final
    Feature record: CXX_FEATURE:1cxx_func_identifier
    Feature record: CXX_FEATURE:1cxx_generalized_initializers
    Feature record: CXX_FEATURE:1cxx_inheriting_constructors
    Feature record: CXX_FEATURE:1cxx_inline_namespaces
    Feature record: CXX_FEATURE:1cxx_lambdas
    Feature record: CXX_FEATURE:1cxx_local_type_template_args
    Feature record: CXX_FEATURE:1cxx_long_long_type
    Feature record: CXX_FEATURE:1cxx_noexcept
    Feature record: CXX_FEATURE:1cxx_nonstatic_member_init
    Feature record: CXX_FEATURE:1cxx_nullptr
    Feature record: CXX_FEATURE:1cxx_override
    Feature record: CXX_FEATURE:1cxx_range_for
    Feature record: CXX_FEATURE:1cxx_raw_string_literals
    Feature record: CXX_FEATURE:1cxx_reference_qualified_functions
    Feature record: CXX_FEATURE:1cxx_right_angle_brackets
    Feature record: CXX_FEATURE:1cxx_rvalue_references
    Feature record: CXX_FEATURE:1cxx_sizeof_member
    Feature record: CXX_FEATURE:1cxx_static_assert
    Feature record: CXX_FEATURE:1cxx_strong_enums
    Feature record: CXX_FEATURE:1cxx_thread_local
    Feature record: CXX_FEATURE:1cxx_trailing_return_types
    Feature record: CXX_FEATURE:1cxx_unicode_literals
    Feature record: CXX_FEATURE:1cxx_uniform_initialization
    Feature record: CXX_FEATURE:1cxx_unrestricted_unions
    Feature record: CXX_FEATURE:1cxx_user_literals
    Feature record: CXX_FEATURE:1cxx_variadic_macros
    Feature record: CXX_FEATURE:1cxx_variadic_templates
    Feature record: CXX_FEATURE:0cxx_aggregate_default_initializers
    Feature record: CXX_FEATURE:0cxx_attribute_deprecated
    Feature record: CXX_FEATURE:0cxx_binary_literals
    Feature record: CXX_FEATURE:0cxx_contextual_conversions
    Feature record: CXX_FEATURE:0cxx_decltype_auto
    Feature record: CXX_FEATURE:0cxx_digit_separators
    Feature record: CXX_FEATURE:0cxx_generic_lambdas
    Feature record: CXX_FEATURE:0cxx_lambda_init_captures
    Feature record: CXX_FEATURE:0cxx_relaxed_constexpr
    Feature record: CXX_FEATURE:0cxx_return_type_deduction
    Feature record: CXX_FEATURE:0cxx_variable_templates
The system is: Linux - 3.10.0-1062.1.2.el7.x86_64 - x86_64
Compiling the C compiler identification source file "CMakeCCompilerId.c" succeeded.
Compiler: /usr/bin/cc 
Build flags: 
Id flags:  

The output was:
0


Compilation of the C compiler identification source "CMakeCCompilerId.c" produced "a.out"

The C compiler identification is GNU, found in "/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/3.16.0-rc4/CompilerIdC/a.out"

Compiling the CXX compiler identification source file "CMakeCXXCompilerId.cpp" succeeded.
Compiler: /usr/bin/c++ 
Build flags: 
Id flags:  

The output was:
0


Compilation of the CXX compiler identification source "CMakeCXXCompilerId.cpp" produced "a.out"

The CXX compiler identification is GNU, found in "/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/3.16.0-rc4/CompilerIdCXX/a.out"

Determining if the C compiler works passed with the following output:
Change Dir: /gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/gmake cmTC_e337e/fast && /usr/bin/gmake -f CMakeFiles/cmTC_e337e.dir/build.make CMakeFiles/cmTC_e337e.dir/build
gmake[1]: Entering directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_e337e.dir/testCCompiler.c.o
/usr/bin/cc    -o CMakeFiles/cmTC_e337e.dir/testCCompiler.c.o   -c /gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp/testCCompiler.c
Linking C executable cmTC_e337e
/gpfs/software/ada/cmake/cmake-3.16.0-rc4-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_e337e.dir/link.txt --verbose=1
/usr/bin/cc    -L/gpfs/software/ada/geos/3.8.1/lib -L/gpfs/software/ada/gdal/3.1.0/lib -L/gpfs/software/ada/proj/6.0.0/lib  CMakeFiles/cmTC_e337e.dir/testCCompiler.c.o  -o cmTC_e337e 
gmake[1]: Leaving directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp'



Detecting C compiler ABI info compiled with the following output:
Change Dir: /gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/gmake cmTC_297fd/fast && /usr/bin/gmake -f CMakeFiles/cmTC_297fd.dir/build.make CMakeFiles/cmTC_297fd.dir/build
gmake[1]: Entering directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp'
Building C object CMakeFiles/cmTC_297fd.dir/CMakeCCompilerABI.c.o
/usr/bin/cc   -v -o CMakeFiles/cmTC_297fd.dir/CMakeCCompilerABI.c.o   -c /gpfs/software/ada/cmake/cmake-3.16.0-rc4-Linux-x86_64/share/cmake-3.16/Modules/CMakeCCompilerABI.c
Using built-in specs.
COLLECT_GCC=/usr/bin/cc
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_297fd.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
 /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1 -quiet -v /gpfs/software/ada/cmake/cmake-3.16.0-rc4-Linux-x86_64/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_297fd.dir/CMakeCCompilerABI.c.o -version -o /tmp/ccAzHDW2.s
GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)
	compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1
warning: GMP header version 6.0.0 differs from library version 6.1.2.
warning: MPC header version 1.0.1 differs from library version 1.1.0.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include"
ignoring duplicate directory "/gpfs/software/ada/proj/6.0.0/include"
  as it is a non-system directory that duplicates a system directory
#include "..." search starts here:
#include <...> search starts here:
 /gpfs/software/ada/mpc/1.1.0/include
 /gpfs/software/ada/mpfr/4.0.2/include
 /gpfs/software/ada/gmp/6.1.2/include
 /gpfs/software/ada/proj/6.0.0/include
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include
 /usr/local/include
 /usr/include
End of search list.
GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)
	compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1
warning: GMP header version 6.0.0 differs from library version 6.1.2.
warning: MPC header version 1.0.1 differs from library version 1.1.0.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: c0b461ba69dba093bfc939a7fa8b7724
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_297fd.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
 as -v --64 -o CMakeFiles/cmTC_297fd.dir/CMakeCCompilerABI.c.o /tmp/ccAzHDW2.s
GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-34.base.el7
COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/
LIBRARY_PATH=/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/gpfs/software/ada/mpc/1.1.0/lib/:/gpfs/software/ada/mpfr/4.0.2/lib/:/gpfs/software/ada/gmp/6.1.2/lib/:/gpfs/software/ada/compilers/gcc/9.2.0/lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_297fd.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64'
Linking C executable cmTC_297fd
/gpfs/software/ada/cmake/cmake-3.16.0-rc4-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_297fd.dir/link.txt --verbose=1
/usr/bin/cc    -L/gpfs/software/ada/geos/3.8.1/lib -L/gpfs/software/ada/gdal/3.1.0/lib -L/gpfs/software/ada/proj/6.0.0/lib -v CMakeFiles/cmTC_297fd.dir/CMakeCCompilerABI.c.o  -o cmTC_297fd 
Using built-in specs.
COLLECT_GCC=/usr/bin/cc
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/
LIBRARY_PATH=/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/gpfs/software/ada/mpc/1.1.0/lib/:/gpfs/software/ada/mpfr/4.0.2/lib/:/gpfs/software/ada/gmp/6.1.2/lib/:/gpfs/software/ada/compilers/gcc/9.2.0/lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-L/gpfs/software/ada/geos/3.8.1/lib' '-L/gpfs/software/ada/gdal/3.1.0/lib' '-L/gpfs/software/ada/proj/6.0.0/lib' '-v' '-o' 'cmTC_297fd' '-mtune=generic' '-march=x86-64'
 /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_297fd /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/gpfs/software/ada/geos/3.8.1/lib -L/gpfs/software/ada/gdal/3.1.0/lib -L/gpfs/software/ada/proj/6.0.0/lib -L/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64 -L/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/gpfs/software/ada/mpc/1.1.0/lib -L/gpfs/software/ada/mpfr/4.0.2/lib -L/gpfs/software/ada/gmp/6.1.2/lib -L/gpfs/software/ada/compilers/gcc/9.2.0/lib64 -L/gpfs/software/ada/compilers/gcc/9.2.0/lib -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_297fd.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o
gmake[1]: Leaving directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp'



Parsed C implicit include dir info from above output: rv=done
  found start of include info
  found start of implicit include info
    add: [/gpfs/software/ada/mpc/1.1.0/include]
    add: [/gpfs/software/ada/mpfr/4.0.2/include]
    add: [/gpfs/software/ada/gmp/6.1.2/include]
    add: [/gpfs/software/ada/proj/6.0.0/include]
    add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include]
    add: [/usr/local/include]
    add: [/usr/include]
  end of search list found
  collapse include dir [/gpfs/software/ada/mpc/1.1.0/include] ==> [/gpfs/software/ada/mpc/1.1.0/include]
  collapse include dir [/gpfs/software/ada/mpfr/4.0.2/include] ==> [/gpfs/software/ada/mpfr/4.0.2/include]
  collapse include dir [/gpfs/software/ada/gmp/6.1.2/include] ==> [/gpfs/software/ada/gmp/6.1.2/include]
  collapse include dir [/gpfs/software/ada/proj/6.0.0/include] ==> [/gpfs/software/ada/proj/6.0.0/include]
  collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include]
  collapse include dir [/usr/local/include] ==> [/usr/local/include]
  collapse include dir [/usr/include] ==> [/usr/include]
  implicit include dirs: [/gpfs/software/ada/mpc/1.1.0/include;/gpfs/software/ada/mpfr/4.0.2/include;/gpfs/software/ada/gmp/6.1.2/include;/gpfs/software/ada/proj/6.0.0/include;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include;/usr/local/include;/usr/include]


Parsed C implicit link information from above output:
  link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
  ignore line: [Change Dir: /gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp]
  ignore line: []
  ignore line: [Run Build Command(s):/usr/bin/gmake cmTC_297fd/fast && /usr/bin/gmake -f CMakeFiles/cmTC_297fd.dir/build.make CMakeFiles/cmTC_297fd.dir/build]
  ignore line: [gmake[1]: Entering directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp']
  ignore line: [Building C object CMakeFiles/cmTC_297fd.dir/CMakeCCompilerABI.c.o]
  ignore line: [/usr/bin/cc   -v -o CMakeFiles/cmTC_297fd.dir/CMakeCCompilerABI.c.o   -c /gpfs/software/ada/cmake/cmake-3.16.0-rc4-Linux-x86_64/share/cmake-3.16/Modules/CMakeCCompilerABI.c]
  ignore line: [Using built-in specs.]
  ignore line: [COLLECT_GCC=/usr/bin/cc]
  ignore line: [Target: x86_64-redhat-linux]
  ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux]
  ignore line: [Thread model: posix]
  ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ]
  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_297fd.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
  ignore line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1 -quiet -v /gpfs/software/ada/cmake/cmake-3.16.0-rc4-Linux-x86_64/share/cmake-3.16/Modules/CMakeCCompilerABI.c -quiet -dumpbase CMakeCCompilerABI.c -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_297fd.dir/CMakeCCompilerABI.c.o -version -o /tmp/ccAzHDW2.s]
  ignore line: [GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)]
  ignore line: [	compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36)  GMP version 6.0.0  MPFR version 3.1.1  MPC version 1.0.1]
  ignore line: [warning: GMP header version 6.0.0 differs from library version 6.1.2.]
  ignore line: [warning: MPC header version 1.0.1 differs from library version 1.1.0.]
  ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
  ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed"]
  ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include"]
  ignore line: [ignoring duplicate directory "/gpfs/software/ada/proj/6.0.0/include"]
  ignore line: [  as it is a non-system directory that duplicates a system directory]
  ignore line: [#include "..." search starts here:]
  ignore line: [#include <...> search starts here:]
  ignore line: [ /gpfs/software/ada/mpc/1.1.0/include]
  ignore line: [ /gpfs/software/ada/mpfr/4.0.2/include]
  ignore line: [ /gpfs/software/ada/gmp/6.1.2/include]
  ignore line: [ /gpfs/software/ada/proj/6.0.0/include]
  ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include]
  ignore line: [ /usr/local/include]
  ignore line: [ /usr/include]
  ignore line: [End of search list.]
  ignore line: [GNU C (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)]
  ignore line: [	compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36)  GMP version 6.0.0  MPFR version 3.1.1  MPC version 1.0.1]
  ignore line: [warning: GMP header version 6.0.0 differs from library version 6.1.2.]
  ignore line: [warning: MPC header version 1.0.1 differs from library version 1.1.0.]
  ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
  ignore line: [Compiler executable checksum: c0b461ba69dba093bfc939a7fa8b7724]
  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_297fd.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
  ignore line: [ as -v --64 -o CMakeFiles/cmTC_297fd.dir/CMakeCCompilerABI.c.o /tmp/ccAzHDW2.s]
  ignore line: [GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-34.base.el7]
  ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/]
  ignore line: [LIBRARY_PATH=/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/gpfs/software/ada/mpc/1.1.0/lib/:/gpfs/software/ada/mpfr/4.0.2/lib/:/gpfs/software/ada/gmp/6.1.2/lib/:/gpfs/software/ada/compilers/gcc/9.2.0/lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/]
  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_297fd.dir/CMakeCCompilerABI.c.o' '-c' '-mtune=generic' '-march=x86-64']
  ignore line: [Linking C executable cmTC_297fd]
  ignore line: [/gpfs/software/ada/cmake/cmake-3.16.0-rc4-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_297fd.dir/link.txt --verbose=1]
  ignore line: [/usr/bin/cc    -L/gpfs/software/ada/geos/3.8.1/lib -L/gpfs/software/ada/gdal/3.1.0/lib -L/gpfs/software/ada/proj/6.0.0/lib -v CMakeFiles/cmTC_297fd.dir/CMakeCCompilerABI.c.o  -o cmTC_297fd ]
  ignore line: [Using built-in specs.]
  ignore line: [COLLECT_GCC=/usr/bin/cc]
  ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper]
  ignore line: [Target: x86_64-redhat-linux]
  ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux]
  ignore line: [Thread model: posix]
  ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ]
  ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/]
  ignore line: [LIBRARY_PATH=/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/gpfs/software/ada/mpc/1.1.0/lib/:/gpfs/software/ada/mpfr/4.0.2/lib/:/gpfs/software/ada/gmp/6.1.2/lib/:/gpfs/software/ada/compilers/gcc/9.2.0/lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/]
  ignore line: [COLLECT_GCC_OPTIONS='-L/gpfs/software/ada/geos/3.8.1/lib' '-L/gpfs/software/ada/gdal/3.1.0/lib' '-L/gpfs/software/ada/proj/6.0.0/lib' '-v' '-o' 'cmTC_297fd' '-mtune=generic' '-march=x86-64']
  link line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_297fd /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/gpfs/software/ada/geos/3.8.1/lib -L/gpfs/software/ada/gdal/3.1.0/lib -L/gpfs/software/ada/proj/6.0.0/lib -L/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64 -L/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/gpfs/software/ada/mpc/1.1.0/lib -L/gpfs/software/ada/mpfr/4.0.2/lib -L/gpfs/software/ada/gmp/6.1.2/lib -L/gpfs/software/ada/compilers/gcc/9.2.0/lib64 -L/gpfs/software/ada/compilers/gcc/9.2.0/lib -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_297fd.dir/CMakeCCompilerABI.c.o -lgcc --as-needed -lgcc_s --no-as-needed -lc -lgcc --as-needed -lgcc_s --no-as-needed /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o]
    arg [/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2] ==> ignore
    arg [--build-id] ==> ignore
    arg [--no-add-needed] ==> ignore
    arg [--eh-frame-hdr] ==> ignore
    arg [--hash-style=gnu] ==> ignore
    arg [-m] ==> ignore
    arg [elf_x86_64] ==> ignore
    arg [-dynamic-linker] ==> ignore
    arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
    arg [-o] ==> ignore
    arg [cmTC_297fd] ==> ignore
    arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o] ==> ignore
    arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o] ==> ignore
    arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o] ==> ignore
    arg [-L/gpfs/software/ada/geos/3.8.1/lib] ==> dir [/gpfs/software/ada/geos/3.8.1/lib]
    arg [-L/gpfs/software/ada/gdal/3.1.0/lib] ==> dir [/gpfs/software/ada/gdal/3.1.0/lib]
    arg [-L/gpfs/software/ada/proj/6.0.0/lib] ==> dir [/gpfs/software/ada/proj/6.0.0/lib]
    arg [-L/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64] ==> dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64]
    arg [-L/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64] ==> dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64]
    arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5]
    arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64]
    arg [-L/lib/../lib64] ==> dir [/lib/../lib64]
    arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64]
    arg [-L/gpfs/software/ada/mpc/1.1.0/lib] ==> dir [/gpfs/software/ada/mpc/1.1.0/lib]
    arg [-L/gpfs/software/ada/mpfr/4.0.2/lib] ==> dir [/gpfs/software/ada/mpfr/4.0.2/lib]
    arg [-L/gpfs/software/ada/gmp/6.1.2/lib] ==> dir [/gpfs/software/ada/gmp/6.1.2/lib]
    arg [-L/gpfs/software/ada/compilers/gcc/9.2.0/lib64] ==> dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib64]
    arg [-L/gpfs/software/ada/compilers/gcc/9.2.0/lib] ==> dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib]
    arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..]
    arg [CMakeFiles/cmTC_297fd.dir/CMakeCCompilerABI.c.o] ==> ignore
    arg [-lgcc] ==> lib [gcc]
    arg [--as-needed] ==> ignore
    arg [-lgcc_s] ==> lib [gcc_s]
    arg [--no-as-needed] ==> ignore
    arg [-lc] ==> lib [c]
    arg [-lgcc] ==> lib [gcc]
    arg [--as-needed] ==> ignore
    arg [-lgcc_s] ==> lib [gcc_s]
    arg [--no-as-needed] ==> ignore
    arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o] ==> ignore
    arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] ==> ignore
  collapse library dir [/gpfs/software/ada/geos/3.8.1/lib] ==> [/gpfs/software/ada/geos/3.8.1/lib]
  collapse library dir [/gpfs/software/ada/gdal/3.1.0/lib] ==> [/gpfs/software/ada/gdal/3.1.0/lib]
  collapse library dir [/gpfs/software/ada/proj/6.0.0/lib] ==> [/gpfs/software/ada/proj/6.0.0/lib]
  collapse library dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64] ==> [/gpfs/software/ada/compilers/gcc/9.2.0/lib64]
  collapse library dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64] ==> [/gpfs/software/ada/compilers/gcc/9.2.0/lib64]
  collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5]
  collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> [/usr/lib64]
  collapse library dir [/lib/../lib64] ==> [/lib64]
  collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64]
  collapse library dir [/gpfs/software/ada/mpc/1.1.0/lib] ==> [/gpfs/software/ada/mpc/1.1.0/lib]
  collapse library dir [/gpfs/software/ada/mpfr/4.0.2/lib] ==> [/gpfs/software/ada/mpfr/4.0.2/lib]
  collapse library dir [/gpfs/software/ada/gmp/6.1.2/lib] ==> [/gpfs/software/ada/gmp/6.1.2/lib]
  collapse library dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib64] ==> [/gpfs/software/ada/compilers/gcc/9.2.0/lib64]
  collapse library dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib] ==> [/gpfs/software/ada/compilers/gcc/9.2.0/lib]
  collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> [/usr/lib]
  implicit libs: [gcc;gcc_s;c;gcc;gcc_s]
  implicit dirs: [/gpfs/software/ada/geos/3.8.1/lib;/gpfs/software/ada/gdal/3.1.0/lib;/gpfs/software/ada/proj/6.0.0/lib;/gpfs/software/ada/compilers/gcc/9.2.0/lib64;/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/gpfs/software/ada/mpc/1.1.0/lib;/gpfs/software/ada/mpfr/4.0.2/lib;/gpfs/software/ada/gmp/6.1.2/lib;/gpfs/software/ada/compilers/gcc/9.2.0/lib;/usr/lib]
  implicit fwks: []


Determining if the CXX compiler works passed with the following output:
Change Dir: /gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/gmake cmTC_179b5/fast && /usr/bin/gmake -f CMakeFiles/cmTC_179b5.dir/build.make CMakeFiles/cmTC_179b5.dir/build
gmake[1]: Entering directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_179b5.dir/testCXXCompiler.cxx.o
/usr/bin/c++     -o CMakeFiles/cmTC_179b5.dir/testCXXCompiler.cxx.o -c /gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp/testCXXCompiler.cxx
Linking CXX executable cmTC_179b5
/gpfs/software/ada/cmake/cmake-3.16.0-rc4-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_179b5.dir/link.txt --verbose=1
/usr/bin/c++     -L/gpfs/software/ada/geos/3.8.1/lib -L/gpfs/software/ada/gdal/3.1.0/lib -L/gpfs/software/ada/proj/6.0.0/lib  CMakeFiles/cmTC_179b5.dir/testCXXCompiler.cxx.o  -o cmTC_179b5 
gmake[1]: Leaving directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp'



Detecting CXX compiler ABI info compiled with the following output:
Change Dir: /gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/gmake cmTC_0d1ef/fast && /usr/bin/gmake -f CMakeFiles/cmTC_0d1ef.dir/build.make CMakeFiles/cmTC_0d1ef.dir/build
gmake[1]: Entering directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_0d1ef.dir/CMakeCXXCompilerABI.cpp.o
/usr/bin/c++    -v -o CMakeFiles/cmTC_0d1ef.dir/CMakeCXXCompilerABI.cpp.o -c /gpfs/software/ada/cmake/cmake-3.16.0-rc4-Linux-x86_64/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp
Using built-in specs.
COLLECT_GCC=/usr/bin/c++
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0d1ef.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1plus -quiet -v -D_GNU_SOURCE /gpfs/software/ada/cmake/cmake-3.16.0-rc4-Linux-x86_64/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_0d1ef.dir/CMakeCXXCompilerABI.cpp.o -version -o /tmp/ccd7umkn.s
GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)
	compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1
warning: GMP header version 6.0.0 differs from library version 6.1.2.
warning: MPC header version 1.0.1 differs from library version 1.1.0.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed"
ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include"
#include "..." search starts here:
#include <...> search starts here:
 /gpfs/software/ada/proj/6.0.0/include
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward
 /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include
 /usr/local/include
 /usr/include
End of search list.
GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)
	compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36), GMP version 6.0.0, MPFR version 3.1.1, MPC version 1.0.1
warning: GMP header version 6.0.0 differs from library version 6.1.2.
warning: MPC header version 1.0.1 differs from library version 1.1.0.
GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072
Compiler executable checksum: 716696aeb8e1265fe923bf392b1dfb5e
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0d1ef.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 as -v --64 -o CMakeFiles/cmTC_0d1ef.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccd7umkn.s
GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-34.base.el7
COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/
LIBRARY_PATH=/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/gpfs/software/ada/mpc/1.1.0/lib/:/gpfs/software/ada/mpfr/4.0.2/lib/:/gpfs/software/ada/gmp/6.1.2/lib/:/gpfs/software/ada/compilers/gcc/9.2.0/lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0d1ef.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
Linking CXX executable cmTC_0d1ef
/gpfs/software/ada/cmake/cmake-3.16.0-rc4-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0d1ef.dir/link.txt --verbose=1
/usr/bin/c++     -L/gpfs/software/ada/geos/3.8.1/lib -L/gpfs/software/ada/gdal/3.1.0/lib -L/gpfs/software/ada/proj/6.0.0/lib -v CMakeFiles/cmTC_0d1ef.dir/CMakeCXXCompilerABI.cpp.o  -o cmTC_0d1ef 
Using built-in specs.
COLLECT_GCC=/usr/bin/c++
COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper
Target: x86_64-redhat-linux
Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c,c++,objc,obj-c++,java,fortran,ada,go,lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux
Thread model: posix
gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) 
COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/
LIBRARY_PATH=/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/gpfs/software/ada/mpc/1.1.0/lib/:/gpfs/software/ada/mpfr/4.0.2/lib/:/gpfs/software/ada/gmp/6.1.2/lib/:/gpfs/software/ada/compilers/gcc/9.2.0/lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/
COLLECT_GCC_OPTIONS='-L/gpfs/software/ada/geos/3.8.1/lib' '-L/gpfs/software/ada/gdal/3.1.0/lib' '-L/gpfs/software/ada/proj/6.0.0/lib' '-v' '-o' 'cmTC_0d1ef' '-shared-libgcc' '-mtune=generic' '-march=x86-64'
 /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_0d1ef /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/gpfs/software/ada/geos/3.8.1/lib -L/gpfs/software/ada/gdal/3.1.0/lib -L/gpfs/software/ada/proj/6.0.0/lib -L/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64 -L/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/gpfs/software/ada/mpc/1.1.0/lib -L/gpfs/software/ada/mpfr/4.0.2/lib -L/gpfs/software/ada/gmp/6.1.2/lib -L/gpfs/software/ada/compilers/gcc/9.2.0/lib64 -L/gpfs/software/ada/compilers/gcc/9.2.0/lib -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_0d1ef.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o
gmake[1]: Leaving directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp'



Parsed CXX implicit include dir info from above output: rv=done
  found start of include info
  found start of implicit include info
    add: [/gpfs/software/ada/proj/6.0.0/include]
    add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5]
    add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux]
    add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward]
    add: [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include]
    add: [/usr/local/include]
    add: [/usr/include]
  end of search list found
  collapse include dir [/gpfs/software/ada/proj/6.0.0/include] ==> [/gpfs/software/ada/proj/6.0.0/include]
  collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5] ==> [/usr/include/c++/4.8.5]
  collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux] ==> [/usr/include/c++/4.8.5/x86_64-redhat-linux]
  collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward] ==> [/usr/include/c++/4.8.5/backward]
  collapse include dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include]
  collapse include dir [/usr/local/include] ==> [/usr/local/include]
  collapse include dir [/usr/include] ==> [/usr/include]
  implicit include dirs: [/gpfs/software/ada/proj/6.0.0/include;/usr/include/c++/4.8.5;/usr/include/c++/4.8.5/x86_64-redhat-linux;/usr/include/c++/4.8.5/backward;/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include;/usr/local/include;/usr/include]


Parsed CXX implicit link information from above output:
  link line regex: [^( *|.*[/\])(ld|CMAKE_LINK_STARTFILE-NOTFOUND|([^/\]+-)?ld|collect2)[^/\]*( |$)]
  ignore line: [Change Dir: /gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp]
  ignore line: []
  ignore line: [Run Build Command(s):/usr/bin/gmake cmTC_0d1ef/fast && /usr/bin/gmake -f CMakeFiles/cmTC_0d1ef.dir/build.make CMakeFiles/cmTC_0d1ef.dir/build]
  ignore line: [gmake[1]: Entering directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp']
  ignore line: [Building CXX object CMakeFiles/cmTC_0d1ef.dir/CMakeCXXCompilerABI.cpp.o]
  ignore line: [/usr/bin/c++    -v -o CMakeFiles/cmTC_0d1ef.dir/CMakeCXXCompilerABI.cpp.o -c /gpfs/software/ada/cmake/cmake-3.16.0-rc4-Linux-x86_64/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp]
  ignore line: [Using built-in specs.]
  ignore line: [COLLECT_GCC=/usr/bin/c++]
  ignore line: [Target: x86_64-redhat-linux]
  ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux]
  ignore line: [Thread model: posix]
  ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ]
  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0d1ef.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
  ignore line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/cc1plus -quiet -v -D_GNU_SOURCE /gpfs/software/ada/cmake/cmake-3.16.0-rc4-Linux-x86_64/share/cmake-3.16/Modules/CMakeCXXCompilerABI.cpp -quiet -dumpbase CMakeCXXCompilerABI.cpp -mtune=generic -march=x86-64 -auxbase-strip CMakeFiles/cmTC_0d1ef.dir/CMakeCXXCompilerABI.cpp.o -version -o /tmp/ccd7umkn.s]
  ignore line: [GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)]
  ignore line: [	compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36)  GMP version 6.0.0  MPFR version 3.1.1  MPC version 1.0.1]
  ignore line: [warning: GMP header version 6.0.0 differs from library version 6.1.2.]
  ignore line: [warning: MPC header version 1.0.1 differs from library version 1.1.0.]
  ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
  ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/include-fixed"]
  ignore line: [ignoring nonexistent directory "/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../x86_64-redhat-linux/include"]
  ignore line: [#include "..." search starts here:]
  ignore line: [#include <...> search starts here:]
  ignore line: [ /gpfs/software/ada/proj/6.0.0/include]
  ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5]
  ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/x86_64-redhat-linux]
  ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../include/c++/4.8.5/backward]
  ignore line: [ /usr/lib/gcc/x86_64-redhat-linux/4.8.5/include]
  ignore line: [ /usr/local/include]
  ignore line: [ /usr/include]
  ignore line: [End of search list.]
  ignore line: [GNU C++ (GCC) version 4.8.5 20150623 (Red Hat 4.8.5-36) (x86_64-redhat-linux)]
  ignore line: [	compiled by GNU C version 4.8.5 20150623 (Red Hat 4.8.5-36)  GMP version 6.0.0  MPFR version 3.1.1  MPC version 1.0.1]
  ignore line: [warning: GMP header version 6.0.0 differs from library version 6.1.2.]
  ignore line: [warning: MPC header version 1.0.1 differs from library version 1.1.0.]
  ignore line: [GGC heuristics: --param ggc-min-expand=100 --param ggc-min-heapsize=131072]
  ignore line: [Compiler executable checksum: 716696aeb8e1265fe923bf392b1dfb5e]
  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0d1ef.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
  ignore line: [ as -v --64 -o CMakeFiles/cmTC_0d1ef.dir/CMakeCXXCompilerABI.cpp.o /tmp/ccd7umkn.s]
  ignore line: [GNU assembler version 2.27 (x86_64-redhat-linux) using BFD version version 2.27-34.base.el7]
  ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/]
  ignore line: [LIBRARY_PATH=/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/gpfs/software/ada/mpc/1.1.0/lib/:/gpfs/software/ada/mpfr/4.0.2/lib/:/gpfs/software/ada/gmp/6.1.2/lib/:/gpfs/software/ada/compilers/gcc/9.2.0/lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/]
  ignore line: [COLLECT_GCC_OPTIONS='-v' '-o' 'CMakeFiles/cmTC_0d1ef.dir/CMakeCXXCompilerABI.cpp.o' '-c' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
  ignore line: [Linking CXX executable cmTC_0d1ef]
  ignore line: [/gpfs/software/ada/cmake/cmake-3.16.0-rc4-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_0d1ef.dir/link.txt --verbose=1]
  ignore line: [/usr/bin/c++     -L/gpfs/software/ada/geos/3.8.1/lib -L/gpfs/software/ada/gdal/3.1.0/lib -L/gpfs/software/ada/proj/6.0.0/lib -v CMakeFiles/cmTC_0d1ef.dir/CMakeCXXCompilerABI.cpp.o  -o cmTC_0d1ef ]
  ignore line: [Using built-in specs.]
  ignore line: [COLLECT_GCC=/usr/bin/c++]
  ignore line: [COLLECT_LTO_WRAPPER=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/lto-wrapper]
  ignore line: [Target: x86_64-redhat-linux]
  ignore line: [Configured with: ../configure --prefix=/usr --mandir=/usr/share/man --infodir=/usr/share/info --with-bugurl=http://bugzilla.redhat.com/bugzilla --enable-bootstrap --enable-shared --enable-threads=posix --enable-checking=release --with-system-zlib --enable-__cxa_atexit --disable-libunwind-exceptions --enable-gnu-unique-object --enable-linker-build-id --with-linker-hash-style=gnu --enable-languages=c c++ objc obj-c++ java fortran ada go lto --enable-plugin --enable-initfini-array --disable-libgcj --with-isl=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/isl-install --with-cloog=/builddir/build/BUILD/gcc-4.8.5-20150702/obj-x86_64-redhat-linux/cloog-install --enable-gnu-indirect-function --with-tune=generic --with-arch_32=x86-64 --build=x86_64-redhat-linux]
  ignore line: [Thread model: posix]
  ignore line: [gcc version 4.8.5 20150623 (Red Hat 4.8.5-36) (GCC) ]
  ignore line: [COMPILER_PATH=/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/:/usr/libexec/gcc/x86_64-redhat-linux/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/]
  ignore line: [LIBRARY_PATH=/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/:/lib/../lib64/:/usr/lib/../lib64/:/gpfs/software/ada/mpc/1.1.0/lib/:/gpfs/software/ada/mpfr/4.0.2/lib/:/gpfs/software/ada/gmp/6.1.2/lib/:/gpfs/software/ada/compilers/gcc/9.2.0/lib64/:/gpfs/software/ada/compilers/gcc/9.2.0/lib/:/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../:/lib/:/usr/lib/]
  ignore line: [COLLECT_GCC_OPTIONS='-L/gpfs/software/ada/geos/3.8.1/lib' '-L/gpfs/software/ada/gdal/3.1.0/lib' '-L/gpfs/software/ada/proj/6.0.0/lib' '-v' '-o' 'cmTC_0d1ef' '-shared-libgcc' '-mtune=generic' '-march=x86-64']
  link line: [ /usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2 --build-id --no-add-needed --eh-frame-hdr --hash-style=gnu -m elf_x86_64 -dynamic-linker /lib64/ld-linux-x86-64.so.2 -o cmTC_0d1ef /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o -L/gpfs/software/ada/geos/3.8.1/lib -L/gpfs/software/ada/gdal/3.1.0/lib -L/gpfs/software/ada/proj/6.0.0/lib -L/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64 -L/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5 -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64 -L/lib/../lib64 -L/usr/lib/../lib64 -L/gpfs/software/ada/mpc/1.1.0/lib -L/gpfs/software/ada/mpfr/4.0.2/lib -L/gpfs/software/ada/gmp/6.1.2/lib -L/gpfs/software/ada/compilers/gcc/9.2.0/lib64 -L/gpfs/software/ada/compilers/gcc/9.2.0/lib -L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../.. CMakeFiles/cmTC_0d1ef.dir/CMakeCXXCompilerABI.cpp.o -lstdc++ -lm -lgcc_s -lgcc -lc -lgcc_s -lgcc /usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o /usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o]
    arg [/usr/libexec/gcc/x86_64-redhat-linux/4.8.5/collect2] ==> ignore
    arg [--build-id] ==> ignore
    arg [--no-add-needed] ==> ignore
    arg [--eh-frame-hdr] ==> ignore
    arg [--hash-style=gnu] ==> ignore
    arg [-m] ==> ignore
    arg [elf_x86_64] ==> ignore
    arg [-dynamic-linker] ==> ignore
    arg [/lib64/ld-linux-x86-64.so.2] ==> ignore
    arg [-o] ==> ignore
    arg [cmTC_0d1ef] ==> ignore
    arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crt1.o] ==> ignore
    arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crti.o] ==> ignore
    arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtbegin.o] ==> ignore
    arg [-L/gpfs/software/ada/geos/3.8.1/lib] ==> dir [/gpfs/software/ada/geos/3.8.1/lib]
    arg [-L/gpfs/software/ada/gdal/3.1.0/lib] ==> dir [/gpfs/software/ada/gdal/3.1.0/lib]
    arg [-L/gpfs/software/ada/proj/6.0.0/lib] ==> dir [/gpfs/software/ada/proj/6.0.0/lib]
    arg [-L/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64] ==> dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64]
    arg [-L/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64] ==> dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64]
    arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5]
    arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64]
    arg [-L/lib/../lib64] ==> dir [/lib/../lib64]
    arg [-L/usr/lib/../lib64] ==> dir [/usr/lib/../lib64]
    arg [-L/gpfs/software/ada/mpc/1.1.0/lib] ==> dir [/gpfs/software/ada/mpc/1.1.0/lib]
    arg [-L/gpfs/software/ada/mpfr/4.0.2/lib] ==> dir [/gpfs/software/ada/mpfr/4.0.2/lib]
    arg [-L/gpfs/software/ada/gmp/6.1.2/lib] ==> dir [/gpfs/software/ada/gmp/6.1.2/lib]
    arg [-L/gpfs/software/ada/compilers/gcc/9.2.0/lib64] ==> dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib64]
    arg [-L/gpfs/software/ada/compilers/gcc/9.2.0/lib] ==> dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib]
    arg [-L/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..]
    arg [CMakeFiles/cmTC_0d1ef.dir/CMakeCXXCompilerABI.cpp.o] ==> ignore
    arg [-lstdc++] ==> lib [stdc++]
    arg [-lm] ==> lib [m]
    arg [-lgcc_s] ==> lib [gcc_s]
    arg [-lgcc] ==> lib [gcc]
    arg [-lc] ==> lib [c]
    arg [-lgcc_s] ==> lib [gcc_s]
    arg [-lgcc] ==> lib [gcc]
    arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/crtend.o] ==> ignore
    arg [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64/crtn.o] ==> ignore
  collapse library dir [/gpfs/software/ada/geos/3.8.1/lib] ==> [/gpfs/software/ada/geos/3.8.1/lib]
  collapse library dir [/gpfs/software/ada/gdal/3.1.0/lib] ==> [/gpfs/software/ada/gdal/3.1.0/lib]
  collapse library dir [/gpfs/software/ada/proj/6.0.0/lib] ==> [/gpfs/software/ada/proj/6.0.0/lib]
  collapse library dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib64/../lib64] ==> [/gpfs/software/ada/compilers/gcc/9.2.0/lib64]
  collapse library dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib/../lib64] ==> [/gpfs/software/ada/compilers/gcc/9.2.0/lib64]
  collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5] ==> [/usr/lib/gcc/x86_64-redhat-linux/4.8.5]
  collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../../../lib64] ==> [/usr/lib64]
  collapse library dir [/lib/../lib64] ==> [/lib64]
  collapse library dir [/usr/lib/../lib64] ==> [/usr/lib64]
  collapse library dir [/gpfs/software/ada/mpc/1.1.0/lib] ==> [/gpfs/software/ada/mpc/1.1.0/lib]
  collapse library dir [/gpfs/software/ada/mpfr/4.0.2/lib] ==> [/gpfs/software/ada/mpfr/4.0.2/lib]
  collapse library dir [/gpfs/software/ada/gmp/6.1.2/lib] ==> [/gpfs/software/ada/gmp/6.1.2/lib]
  collapse library dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib64] ==> [/gpfs/software/ada/compilers/gcc/9.2.0/lib64]
  collapse library dir [/gpfs/software/ada/compilers/gcc/9.2.0/lib] ==> [/gpfs/software/ada/compilers/gcc/9.2.0/lib]
  collapse library dir [/usr/lib/gcc/x86_64-redhat-linux/4.8.5/../../..] ==> [/usr/lib]
  implicit libs: [stdc++;m;gcc_s;gcc;c;gcc_s;gcc]
  implicit dirs: [/gpfs/software/ada/geos/3.8.1/lib;/gpfs/software/ada/gdal/3.1.0/lib;/gpfs/software/ada/proj/6.0.0/lib;/gpfs/software/ada/compilers/gcc/9.2.0/lib64;/usr/lib/gcc/x86_64-redhat-linux/4.8.5;/usr/lib64;/lib64;/gpfs/software/ada/mpc/1.1.0/lib;/gpfs/software/ada/mpfr/4.0.2/lib;/gpfs/software/ada/gmp/6.1.2/lib;/gpfs/software/ada/compilers/gcc/9.2.0/lib;/usr/lib]
  implicit fwks: []




Detecting CXX [-std=c++1y] compiler features compiled with the following output:
Change Dir: /gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp

Run Build Command(s):/usr/bin/gmake cmTC_2c034/fast && /usr/bin/gmake -f CMakeFiles/cmTC_2c034.dir/build.make CMakeFiles/cmTC_2c034.dir/build
gmake[1]: Entering directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp'
Building CXX object CMakeFiles/cmTC_2c034.dir/feature_tests.cxx.o
/usr/bin/c++    -std=c++1y -o CMakeFiles/cmTC_2c034.dir/feature_tests.cxx.o -c /gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/feature_tests.cxx
Linking CXX executable cmTC_2c034
/gpfs/software/ada/cmake/cmake-3.16.0-rc4-Linux-x86_64/bin/cmake -E cmake_link_script CMakeFiles/cmTC_2c034.dir/link.txt --verbose=1
/usr/bin/c++     -L/gpfs/software/ada/geos/3.8.1/lib -L/gpfs/software/ada/gdal/3.1.0/lib -L/gpfs/software/ada/proj/6.0.0/lib  CMakeFiles/cmTC_2c034.dir/feature_tests.cxx.o  -o cmTC_2c034 
gmake[1]: Leaving directory `/gpfs/home/<my_folder>/exactextract/cmake-build-release/CMakeFiles/CMakeTmp'



    Feature record: CXX_FEATURE:1cxx_template_template_parameters
    Feature record: CXX_FEATURE:1cxx_alias_templates
    Feature record: CXX_FEATURE:1cxx_alignas
    Feature record: CXX_FEATURE:1cxx_alignof
    Feature record: CXX_FEATURE:1cxx_attributes
    Feature record: CXX_FEATURE:1cxx_auto_type
    Feature record: CXX_FEATURE:1cxx_constexpr
    Feature record: CXX_FEATURE:1cxx_decltype
    Feature record: CXX_FEATURE:1cxx_decltype_incomplete_return_types
    Feature record: CXX_FEATURE:1cxx_default_function_template_args
    Feature record: CXX_FEATURE:1cxx_defaulted_functions
    Feature record: CXX_FEATURE:1cxx_defaulted_move_initializers
    Feature record: CXX_FEATURE:1cxx_delegating_constructors
    Feature record: CXX_FEATURE:1cxx_deleted_functions
    Feature record: CXX_FEATURE:1cxx_enum_forward_declarations
    Feature record: CXX_FEATURE:1cxx_explicit_conversions
    Feature record: CXX_FEATURE:1cxx_extended_friend_declarations
    Feature record: CXX_FEATURE:1cxx_extern_templates
    Feature record: CXX_FEATURE:1cxx_final
    Feature record: CXX_FEATURE:1cxx_func_identifier
    Feature record: CXX_FEATURE:1cxx_generalized_initializers
    Feature record: CXX_FEATURE:1cxx_inheriting_constructors
    Feature record: CXX_FEATURE:1cxx_inline_namespaces
    Feature record: CXX_FEATURE:1cxx_lambdas
    Feature record: CXX_FEATURE:1cxx_local_type_template_args
    Feature record: CXX_FEATURE:1cxx_long_long_type
    Feature record: CXX_FEATURE:1cxx_noexcept
    Feature record: CXX_FEATURE:1cxx_nonstatic_member_init
    Feature record: CXX_FEATURE:1cxx_nullptr
    Feature record: CXX_FEATURE:1cxx_override
    Feature record: CXX_FEATURE:1cxx_range_for
    Feature record: CXX_FEATURE:1cxx_raw_string_literals
    Feature record: CXX_FEATURE:1cxx_reference_qualified_functions
    Feature record: CXX_FEATURE:1cxx_right_angle_brackets
    Feature record: CXX_FEATURE:1cxx_rvalue_references
    Feature record: CXX_FEATURE:1cxx_sizeof_member
    Feature record: CXX_FEATURE:1cxx_static_assert
    Feature record: CXX_FEATURE:1cxx_strong_enums
    Feature record: CXX_FEATURE:1cxx_thread_local
    Feature record: CXX_FEATURE:1cxx_trailing_return_types
    Feature record: CXX_FEATURE:1cxx_unicode_literals
    Feature record: CXX_FEATURE:1cxx_uniform_initialization
    Feature record: CXX_FEATURE:1cxx_unrestricted_unions
    Feature record: CXX_FEATURE:1cxx_user_literals
    Feature record: CXX_FEATURE:1cxx_variadic_macros
    Feature record: CXX_FEATURE:1cxx_variadic_templates
    Feature record: CXX_FEATURE:0cxx_aggregate_default_initializers
    Feature record: CXX_FEATURE:0cxx_attribute_deprecated
    Feature record: CXX_FEATURE:0cxx_binary_literals
    Feature record: CXX_FEATURE:0cxx_contextual_conversions
    Feature record: CXX_FEATURE:0cxx_decltype_auto
    Feature record: CXX_FEATURE:0cxx_digit_separators
    Feature record: CXX_FEATURE:0cxx_generic_lambdas
    Feature record: CXX_FEATURE:0cxx_lambda_init_captures
    Feature record: CXX_FEATURE:0cxx_relaxed_constexpr
    Feature record: CXX_FEATURE:0cxx_return_type_deduction
    Feature record: CXX_FEATURE:0cxx_variable_templates

Build with gcc-10 error: ‘runtime_error’ is not a member of ‘std’

The Cmake build of exactextract_bin fails:

[ 35%] Building CXX object CMakeFiles/exactextract_bin.dir/src/gdal_dataset_wrapper.cpp.o
/opt/isciences.com/exactextractr/src/exactextract/src/gdal_dataset_wrapper.cpp: In constructor ‘exactextract::GDALDatasetWrapper::GDALDatasetWrapper(const string&, const string&, std::string)’:
/opt/isciences.com/exactextractr/src/exactextract/src/gdal_dataset_wrapper.cpp:26:24: error: ‘runtime_error’ is not a member of ‘std’
   26 |             throw std::runtime_error("Failed to open " + filename);
      |                        ^~~~~~~~~~~~~
/opt/isciences.com/exactextractr/src/exactextract/src/gdal_dataset_wrapper.cpp:39:24: error: ‘runtime_error’ is not a member of ‘std’
   39 |             throw std::runtime_error("No layer " + layer + " found in " + filename);
      |                        ^~~~~~~~~~~~~
/opt/isciences.com/exactextractr/src/exactextract/src/gdal_dataset_wrapper.cpp:49:24: error: ‘runtime_error’ is not a member of ‘std’
   49 |             throw std::runtime_error("ID field '" + m_id_field + "' not found in " + filename + ".");
      |                        ^~~~~~~~~~~~~
/opt/isciences.com/exactextractr/src/exactextract/src/gdal_dataset_wrapper.cpp: In member function ‘void exactextract::GDALDatasetWrapper::copy_field(const string&, OGRLayerH) const’:
/opt/isciences.com/exactextractr/src/exactextract/src/gdal_dataset_wrapper.cpp:82:24: error: ‘runtime_error’ is not a member of ‘std’
   82 |             throw std::runtime_error("Cannot find field " + name);
      |                        ^~~~~~~~~~~~~
make[2]: *** [CMakeFiles/exactextract_bin.dir/build.make:108: CMakeFiles/exactextract_bin.dir/src/gdal_dataset_wrapper.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:103: CMakeFiles/exactextract_bin.dir/all] Error 2

Quoting Porting to GCC 10

Previously components such as std::runtime_error, std::string and std::allocator were implicitly defined after including unrelated headers such as <array> and <optional>. Correct code should include the appropriate headers for the classes being used.

Add functionality to convert nodata to a fixed value

Many population datasets use NODATA pixels for areas outside the modeled domain, e.g. ocean pixels. For the purpose of exactextract these should be considered equivalent to zero.

The following workaround is available in Python using GDAL:

from osgeo import gdal
gdal.BuildVRT('/vsimem/vrt1.vrt', "my_pop_data.tif", VRTNodata = 0)
pop_src = gdal.BuildVRT('', '/vsimem/vrt1.vrt', srcNodata = "none")

This is not clear in its intent and easy to get wrong. As an alternative, the exactextractr package uses default_weight and default_value arguments to convert NODATA into a constant value.

Similar functionality could be added to exactextract, either by:

  1. modifying Raster to have a default_value argument. This would require that all RasterSource implementations in turn accept such a value, and pass it along when constructing Raster objects.
  2. modifying RasterStats to take appropriate arguments, so you could call e.g.weighted_mean(default_weight=0). This would be automatically exposed in both the Python bindings and the CLI and would avoid the need to modify RasterSource implementations.

Support for LineStrings

What sort of work would need to be done to support LineString geometry types? Theoretically this should be possible: instead of area overlap of a cell, you'd instead by looking at the length of the line in the cell and computing stats based on that.

Currently to work with LineString geometries I run a tiny buffer operation to get Polygon geometries as input, but ideally I'd skip this step and be able to use LineString geometries directly.

Thanks!

Jon

Error raised when calling a raster with multiple data variables

Is there a way to run zone stats on a NetCDF file that has multiple data variables, while just referencing one of them in the exactextract call? I commonly construct NC files with multiple vars in xarray and realized that any with more than one data variable result in the following error:

ERROR 10: Pointer 'hBand' is NULL in 'GDALGetRasterNoDataValue'.

Example function call:
exactextract -r "maxtemp:NETCDF:my_temp_dataset.nc[1]:maxtemp" -p gadm41_adm0.gpkg -f GID_0 -s "mean(var1)" -o output_test.csv

The above functions as long as 'maxtemp' is the only data variable in the NC file, but if I have multiple (e.g. 'maxtemp, 'mintemp'), I get the above error. I'd like to avoid reading/writing separate NC files for each individual data variable in order to run exactextract, if possible.

Thanks!

Official Release?

Would it be possible to have an officially tagged release version? The motivation for this is it would allow for easier integration into other build systems, e.g., easy_build as referring to master.zip floats with commits, and github checkouts are less elegant than an official zip release

Python: Perf thoughts

👋 Feel free to ignore me but was just reading through the code

You're currently using the OGR bindings or Fiona to load a GeoJSON FeatureCollection to Python. Have you looked at pyogrio at all? For loading entire files it can be easily 5-10x faster than fiona because it's vectorized instead of a python loop.

In my experience, I've found that serializing GeoJSON between Python objects and native code can be really slow. What would you think about an API that (optionally) returned indices into the passed-in objects instead of the features themselves so that users can skip the overhead of serializing the data back to Python?

It would be great to release the GIL while in pure C++ code, especially if you're able to pass a whole chunk of rasters/vectors at once to C++, so you aren't acquiring and releasing the GIL on every iteration of the loop. Looking at the pybind docs it says

pybind11 will never implicitly release the GIL

so I currently your code always holds the GIL?

If you had interest, I'd love to discuss how exactextract could use GeoArrow. It's an exact candidate for why I think GeoArrow has so much potential: existing binary data in GEOS objects in GeoPandas or Shapely has to serialize to GeoJSON and the GEOS -> GeoJSON -> exactextract -> GeoJSON -> GEOS conversion is really slow. There's ongoing work to handle GeoArrow <--> GEOS interop in C/C++, which would simplify getting geometries back into GEOS for use in core exactextract.

Installation error: implicit instantiation of undefined template

Issue summary

When running the installation instructions, I encountered the error error: implicit instantiation of undefined template 'std::basic_stringstream<char>' std::stringstream s;.

Proposed solution:

This was resolved by adding #include <sstream> to src/operation.h.
I'd be happy to open a PR to add this, but I'm not sure what's the preferred contribution guideline.

Additional context:

Full trace in the terminal:

(base) ➜  cmake-build-release git:(master) make
[  2%] Building CXX object CMakeFiles/exactextract_gdal.dir/src/deferred_gdal_writer.cpp.o
In file included from ~/Documents/GitHub/exactextract/src/deferred_gdal_writer.cpp:15:
~/Documents/GitHub/exactextract/src/operation.h:131:39: error: implicit instantiation of undefined template 'std::basic_stringstream<char>'
                    std::stringstream s;
                                      ^
/Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/iosfwd:146:32: note: template is declared here
    class _LIBCPP_TEMPLATE_VIS basic_stringstream;
                               ^
In file included from ~/Documents/GitHub/exactextract/src/deferred_gdal_writer.cpp:15:
~/Documents/GitHub/exactextract/src/operation.h:138:39: error: implicit instantiation of undefined template 'std::basic_stringstream<char>'
                    std::stringstream s;
                                      ^
/Library/Developer/CommandLineTools/SDKs/MacOSX13.3.sdk/usr/include/c++/v1/iosfwd:146:32: note: template is declared here
    class _LIBCPP_TEMPLATE_VIS basic_stringstream;
                               ^
2 errors generated.
make[2]: *** [CMakeFiles/exactextract_gdal.dir/src/deferred_gdal_writer.cpp.o] Error 1
make[1]: *** [CMakeFiles/exactextract_gdal.dir/all] Error 2
make: *** [all] Error 2

System configurations:

  • MacOS: 13.6.1 (22G313)
(base) ➜  gcc --version
Apple clang version 15.0.0 (clang-1500.0.40.1)
Target: arm64-apple-darwin22.6.0
Thread model: posix
InstalledDir: /Library/Developer/CommandLineTools/usr/bin
(base) ➜ cmake --version
cmake version 3.27.7

CMake suite maintained and supported by Kitware (kitware.com/cmake).
(base) ➜ gdalinfo --version
GDAL 3.7.3, released 2023/10/30
(base) ➜ geos-config --version
3.12.0

Outputting the remapping information

Thank you for exactextract!
I was wondering if it's possible to also have the remapping information outputted. For instance, I would like to know which row and columns, along with their latitude and longitude, correspond to which shape ID in the shapefile. This would be a valuable addition. Has this been implemented in exactextract already?
Thank you for considering my request in advance.

NA values for small polygons

Thanks for your great contribution!!.
exact_extract works very fast in comparison to other packages however I am getting NA values for very small polygons that are covered by one pixel. Is there something to do about it in exact_extract function?

Compilation errors on Linux

Using cmake 3.17.2, gcc 5.4.0, geos 3.8.1, make 3.82.
cmake works fine but when I try to run the make command the following pops up.

Scanning dependencies of target exactextract_SHARED
[  2%] Building CXX object CMakeFiles/exactextract_SHARED.dir/src/area.cpp.o
[  4%] Building CXX object CMakeFiles/exactextract_SHARED.dir/src/box.cpp.o
[  6%] Building CXX object CMakeFiles/exactextract_SHARED.dir/src/cell.cpp.o
[  8%] Building CXX object CMakeFiles/exactextract_SHARED.dir/src/coordinate.cpp.o
[ 10%] Building CXX object CMakeFiles/exactextract_SHARED.dir/src/floodfill.cpp.o
In file included from /root/exactextract/src/floodfill.cpp:16:0:
/root/exactextract/src/grid.h: In constructor ‘exactextract::Grid<extent_tag>::Grid(const exactextract::Box&, double, double)’:
/root/exactextract/src/grid.h:40:56: error: declaration of ‘dy’ shadows a member of 'this' [-Werror=shadow]
         Grid(const Box & extent, double dx, double dy) :
                                                        ^
/root/exactextract/src/grid.h:40:56: error: declaration of ‘dx’ shadows a member of 'this' [-Werror=shadow]
/root/exactextract/src/grid.h:40:56: error: declaration of ‘extent’ shadows a member of 'this' [-Werror=shadow]
In file included from /root/exactextract/src/floodfill.cpp:16:0:
/root/exactextract/src/grid.h: In function ‘exactextract::Grid<exactextract::bounded_extent> exactextract::common_grid(T, T)’:
/root/exactextract/src/grid.h:342:26: error: parameter declared ‘auto’
                 [](auto& acc, auto& op) {
                          ^
/root/exactextract/src/grid.h:342:37: error: parameter declared ‘auto’
                 [](auto& acc, auto& op) {
                                     ^
/root/exactextract/src/grid.h: In lambda function:
/root/exactextract/src/grid.h:343:28: error: ‘acc’ was not declared in this scope
                     return acc.common_grid(op.grid());
                            ^
/root/exactextract/src/grid.h:343:44: error: ‘op’ was not declared in this scope
                     return acc.common_grid(op.grid());
                                            ^
In file included from /root/exactextract/src/floodfill.h:23:0,
                 from /root/exactextract/src/floodfill.cpp:17:
/root/exactextract/src/matrix.h: In constructor ‘exactextract::Matrix<T>::Matrix(std::size_t, std::size_t)’:
/root/exactextract/src/matrix.h:31:42: error: declaration of ‘cols’ shadows a member of 'this' [-Werror=shadow]
         Matrix(size_t rows, size_t cols) :
                                          ^
/root/exactextract/src/matrix.h:31:42: error: declaration of ‘rows’ shadows a member of 'this' [-Werror=shadow]
/root/exactextract/src/matrix.h: In constructor ‘exactextract::Matrix<T>::Matrix(std::size_t, std::size_t, T)’:
/root/exactextract/src/matrix.h:41:51: error: declaration of ‘cols’ shadows a member of 'this' [-Werror=shadow]
         Matrix(size_t rows, size_t cols, T value) :
                                                   ^
/root/exactextract/src/matrix.h:41:51: error: declaration of ‘rows’ shadows a member of 'this' [-Werror=shadow]
/root/exactextract/src/matrix.h: In constructor ‘exactextract::Matrix<T>::Matrix(const std::vector<std::vector<_Tp> >&)’:
/root/exactextract/src/matrix.h:53:67: error: declaration of ‘data’ shadows a member of 'this' [-Werror=shadow]
         explicit Matrix(const std::vector<std::vector<T>> & data) :
                                                                   ^
/root/exactextract/src/matrix.h:60:24: error: declaration of ‘row’ shadows a member of 'this' [-Werror=shadow]
             for (auto& row : data) {
                        ^
/root/exactextract/src/matrix.h: In member function ‘T& exactextract::Matrix<T>::operator()(std::size_t, std::size_t)’:
/root/exactextract/src/matrix.h:72:47: error: declaration of ‘row’ shadows a member of 'this' [-Werror=shadow]
         T& operator()(size_t row, size_t col) {
                                               ^
/root/exactextract/src/matrix.h: In member function ‘T exactextract::Matrix<T>::operator()(std::size_t, std::size_t) const’:
/root/exactextract/src/matrix.h:77:52: error: declaration of ‘row’ shadows a member of 'this' [-Werror=shadow]
         T operator()(size_t row, size_t col) const {
                                                    ^
/root/exactextract/src/matrix.h: In member function ‘void exactextract::Matrix<T>::increment(std::size_t, std::size_t, const T&)’:
/root/exactextract/src/matrix.h:93:63: error: declaration of ‘row’ shadows a member of 'this' [-Werror=shadow]
         void increment(size_t row, size_t col, const T & val) {
                                                               ^
/root/exactextract/src/matrix.h: In member function ‘T* exactextract::Matrix<T>::row(std::size_t)’:
/root/exactextract/src/matrix.h:101:28: error: declaration of ‘row’ shadows a member of 'this' [-Werror=shadow]
         T* row(size_t row) {
                            ^
cc1plus: all warnings being treated as errors
make[2]: *** [CMakeFiles/exactextract_SHARED.dir/src/floodfill.cpp.o] Error 1
make[1]: *** [CMakeFiles/exactextract_SHARED.dir/all] Error 2
make: *** [all] Error 2

postGIS vector input example/setup

Firstly, thank you for this package. This is exactly what I was looking for!

I have successfully ran the tool using shapefiles but I would prefer to load the vector sources from a postgreSQL/postGIS database. However, I am finding it difficult to define the postGIS vector sources. The structure in the package README.md is somewhat different to the OGR documentation;

The -p argument provides the location for the polygon input. As with the -r argument, this can be a file name or some other location understood by GDAL, such as a PostGIS vector source (-p "PG:dbname=basins[public.basins_lev05]").

According to OGR documentation, referencing a postGIS vector source goes something like;

ogrinfo PG:"host=localhost port=5432 user=user password=pwd dbname=db" -sql "SELECT * FROM schema.table"

For example, I have tried;

-r grid:./data/gpw/raster.tif \
-p PG:"host=localhost port=5432 user=tastatham password=pswd dbname=db" -sql "SELECT * FROM schema.table" \
-f FID \
-s weighted_sum\(grid\) \
-o ./data/zonal_stats.csv

This results in an error message;

ERROR 1: ERROR: column s.consrc does not exist
LINE 1: ...nrelid = c.oid AND a.attnum = ANY (s.conkey) AND (s.consrc L...
HINT: Perhaps you meant to reference the column "s.conkey" or the column "s.conbin".
ERROR 1: ERROR: column s.consrc does not exist
LINE 1: ...nrelid = c.oid AND a.attnum = ANY (s.conkey) AND (s.consrc L...
HINT: Perhaps you meant to reference the column "s.conkey" or the column "s.conbin".

A quick google and this seems to be an (classic!) issue with GDAL. My setup is based on;
ubuntu 18.04, postgreSQL 12, postgis 3, GDAL 2.2.3, released 2017/11/20

I updated my GDAL using the ubuntugis-unstable package

sudo add-apt-repository ppa:ubuntugis/ubuntugis-unstable
sudo apt update
sudo apt-get install libgdal-dev

This gives me GDAL 3.0.4, released 2020/01/28 but has broken my postgreSQL/postGIS setup, in addition to this package;

exactextract: error while loading shared libraries: libgdal.so.20: cannot open shared object file: No such file or directory

Consequently, I downgraded GDAL back to GDAL 2.2.3 for my setup.

I can see you have a Docker image setup for this package, do you have any recommendations with what postgreSQL/postgis setup that is compatible with this particular package?

Typo in the requirements

I've noticed that in the requirements section of the compilation, it is mentioned that CMake 3.8+ is needed; the latest version of the CMake is 3.23.2 as of May 25th 2022.

Lots of NANs

How are nulls handled exactly? Most of my values are nan for pop_weighted_mean even though there is population and data there

NAME,pop_sum,variable_min,variable_max,pop_weighted_mean
Afghanistan,9753520,1,40,4.44056987762451
Angola,9689003,1,72,nan
Albania,1102135.125,1,689,nan
United Arab Emirates,2645905.5,1,488,nan
Argentina,45506.94921875,1,21,nan
Armenia,1076041.25,1,67,nan

Reproducible example:

wget https://raw.githubusercontent.com/chapmanjacobd/rasters/main/ne_110m_countries.gpkg
wget https://raw.githubusercontent.com/chapmanjacobd/rasters/main/pop.tif
wget https://raw.githubusercontent.com/chapmanjacobd/rasters/main/osm/walkable.tif.gz
gzip -d ./walkable.tif.gz

exactextract -r pop:pop.tif \
  -r variable:walkable.tif \
  -p ne_110m_countries.gpkg \
  -f NAME \
  -s "sum(pop)" \
  -s "sum(variable)" \
  -s "max(variable)" \
  -s "mean(variable)" \
  -s "pop_weighted_mean=weighted_mean(variable,pop)" \
  -o countries_walkable.csv

cat countries_walkable.csv

https://github.com/chapmanjacobd/rasters/blob/main/osm/README.md

Compiling Error on Windows using gcc

Hello,
I am trying to compile exact extract in Windows using gcc.
I get the following error when trying to compile using mingw

D:\PortablePrograms\exactextract-master\build>mingw32-make
Scanning dependencies of target exactextract_STATIC
[ 1%] Building CXX object CMakeFiles/exactextract_STATIC.dir/src/area.cpp.obj
In file included from c:\mingw\lib\gcc\mingw32\9.2.0\include\c++\cstdint:41,
from c:\mingw\lib\gcc\mingw32\9.2.0\include\c++\bits\char_traits.h:621,
from c:\mingw\lib\gcc\mingw32\9.2.0\include\c++\ios:40,
from c:\mingw\lib\gcc\mingw32\9.2.0\include\c++\ostream:38,
from c:\mingw\lib\gcc\mingw32\9.2.0\include\c++\iostream:39,
from D:\PortablePrograms\exactextract-master\src\coordinate.h:18,
from D:\PortablePrograms\exactextract-master\src\area.h:21,
from D:\PortablePrograms\exactextract-master\src\area.cpp:14:
C:/OSGeo4W64/include/stdint.h:34:2: error: #error "Use this header only with Microsoft Visual C++ compilers!"
34 | #error "Use this header only with Microsoft Visual C++ compilers!"
| ^~~~~
CMakeFiles\exactextract_STATIC.dir\build.make:81: recipe for target 'CMakeFiles/exactextract_STATIC.dir/src/area.cpp.obj' failed
mingw32-make[2]: *** [CMakeFiles/exactextract_STATIC.dir/src/area.cpp.obj] Error 1
CMakeFiles\Makefile2:155: recipe for target 'CMakeFiles/exactextract_STATIC.dir/all' failed
mingw32-make[1]: *** [CMakeFiles/exactextract_STATIC.dir/all] Error 2
Makefile:147: recipe for target 'all' failed
mingw32-make: *** [all] Error 2

Missing Fraction Statistic

Hi,

Thanks a lot for providing this useful package. It is very useful and quick.
I am wondering if there is any way to add the frac function to the list of operations. I see in the exactextractr package you have it, but it is missing here. It would be quite useful also to have this one in the list of zonal statistic functions.

Thanks

Python: availability on PyPI

Hi,
Thanks a lot for the work on Python bindings. I am wondering if there are some plans to publish the package on PyPI (and possibly conda-forge but I'm happy to help with that on PyPI is available)? I'd like to use exactextract as alternative backend on zonal stats functionality of xvec but for that would assume that users can just pip install the wheel.

I am completely aware that Python packaging and wheel building is a pain so I understand if you don't want to go that way but it'd be nice top know what the situation is.

Thanks!

Error: [names<-] incorrect number of names

Hi,
I want to extract precipitation at national levels. when I use exact_extract I get the following error. I am not sure it is related to the package or the files.
I got the nc file from https://www.earthenv.org/streams, and the shape file at national level from GAMD.
Here are the codes that I used:

lc_avg <- brick("monthly_prec_sum.nc")
names(lc_avg) <- paste(c("lc_avg"), sprintf("%02d", seq(1:12)), sep="_")
gpkg_admin0 = sf::read_sf('gadm_410-levels.gpkg', layer = 'ADM_0')
temp_col_name = exactextractr::exact_extract(x = lc_avg$lc_avg_01, y = gpkg_admin0, fun = 'sum' )

lc_avg has 12 levels (monthly data).

The error is:

Error: [names<-] incorrect number of names
In addition: Warning message:
In .local(x, y, ...) : Polygons transformed to raster CRS (EPSG:NA)

I appreciate your help.

Error in compilation

Hello,

I do get an error in the compilation of the exactextract which seems to be related to the unit test functions.

Error

[kasra545@gra796 cmake-build-release]$ cmake -DCMAKE_BUILD_TYPE=Release ..
-- The C compiler identification is GNU 9.3.0
-- The CXX compiler identification is GNU 9.3.0
-- Check for working C compiler: /cvmfs/soft.computecanada.ca/easybuild/software/2020/Core/gcccore/9.3.0/bin/cc
-- Check for working C compiler: /cvmfs/soft.computecanada.ca/easybuild/software/2020/Core/gcccore/9.3.0/bin/cc -- works
-- Detecting C compiler ABI info
-- Detecting C compiler ABI info - done
-- Detecting C compile features
-- Detecting C compile features - done
-- Check for working CXX compiler: /cvmfs/soft.computecanada.ca/easybuild/software/2020/Core/gcccore/9.3.0/bin/c++
-- Check for working CXX compiler: /cvmfs/soft.computecanada.ca/easybuild/software/2020/Core/gcccore/9.3.0/bin/c++ -- works
-- Detecting CXX compiler ABI info
-- Detecting CXX compiler ABI info - done
-- Detecting CXX compile features
-- Detecting CXX compile features - done
-- Found GEOS: /cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/geos/3.10.2/lib64/libgeos_c.so
-- Found GDAL: /cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Compiler/intel2020/gdal/3.0.4/lib/libgdal.so (found version "3.0.4") 
-- Source version: a0997f9
-- Found Doxygen: /cvmfs/soft.computecanada.ca/gentoo/2020/usr/bin/doxygen (found version "1.8.16") found components: doxygen dot 
Doxygen build started
-- Configuring done
-- Generating done
-- Build files have been written to: /home/kasra545/github-repos/exactextract/cmake-build-release
[kasra545@gra796 cmake-build-release]$ cmake -DCMAKE_BUILD_TYPE=Release ..
-- Found GEOS: /cvmfs/soft.computecanada.ca/easybuild/software/2020/avx2/Core/geos/3.10.2/lib64/libgeos_c.so
-- Source version: a0997f9
Doxygen build started
-- Configuring done
-- Generating done
-- Build files have been written to: /home/kasra545/github-repos/exactextract/cmake-build-release
[kasra545@gra796 cmake-build-release]$ make
Scanning dependencies of target doc_doxygen
[  2%] Generating API documentation with Doxygen
warning: Tag 'CLANG_ASSISTED_PARSING' at line 1020 of file '/home/kasra545/github-repos/exactextract/cmake-build-release/Doxyfile' belongs to an option that was not enabled at compile time.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u", or recompile doxygen with this feature enabled.
warning: Tag 'CLANG_OPTIONS' at line 1028 of file '/home/kasra545/github-repos/exactextract/cmake-build-release/Doxyfile' belongs to an option that was not enabled at compile time.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u", or recompile doxygen with this feature enabled.
warning: Tag 'PERL_PATH' at line 2111 of file '/home/kasra545/github-repos/exactextract/cmake-build-release/Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
warning: Tag 'MSCGEN_PATH' at line 2133 of file '/home/kasra545/github-repos/exactextract/cmake-build-release/Doxyfile' has become obsolete.
         To avoid this warning please remove this line from your configuration file or upgrade it using "doxygen -u"
Searching for include files...
Searching for example files...
Searching for images...
Searching for dot files...
Searching for msc files...
Searching for dia files...
Searching for files to exclude
Searching INPUT for files to process...
Searching for files in directory /home/kasra545/github-repos/exactextract/src
Searching for files in directory /home/kasra545/github-repos/exactextract/docs
Reading and parsing tag files
Parsing files
Preprocessing /home/kasra545/github-repos/exactextract/src/area.cpp...
Parsing file /home/kasra545/github-repos/exactextract/src/area.cpp...
Preprocessing /home/kasra545/github-repos/exactextract/src/area.h...
Parsing file /home/kasra545/github-repos/exactextract/src/area.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/box.cpp...
Parsing file /home/kasra545/github-repos/exactextract/src/box.cpp...
Preprocessing /home/kasra545/github-repos/exactextract/src/box.h...
Parsing file /home/kasra545/github-repos/exactextract/src/box.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/cell.cpp...
Parsing file /home/kasra545/github-repos/exactextract/src/cell.cpp...
Preprocessing /home/kasra545/github-repos/exactextract/src/cell.h...
Parsing file /home/kasra545/github-repos/exactextract/src/cell.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/coordinate.cpp...
Parsing file /home/kasra545/github-repos/exactextract/src/coordinate.cpp...
Preprocessing /home/kasra545/github-repos/exactextract/src/coordinate.h...
Parsing file /home/kasra545/github-repos/exactextract/src/coordinate.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/crossing.h...
Parsing file /home/kasra545/github-repos/exactextract/src/crossing.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/exactextract.cpp...
Parsing file /home/kasra545/github-repos/exactextract/src/exactextract.cpp...
Preprocessing /home/kasra545/github-repos/exactextract/src/feature_sequential_processor.cpp...
Parsing file /home/kasra545/github-repos/exactextract/src/feature_sequential_processor.cpp...
Preprocessing /home/kasra545/github-repos/exactextract/src/feature_sequential_processor.h...
Parsing file /home/kasra545/github-repos/exactextract/src/feature_sequential_processor.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/floodfill.cpp...
Parsing file /home/kasra545/github-repos/exactextract/src/floodfill.cpp...
Preprocessing /home/kasra545/github-repos/exactextract/src/floodfill.h...
Parsing file /home/kasra545/github-repos/exactextract/src/floodfill.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/gdal_dataset_wrapper.cpp...
Parsing file /home/kasra545/github-repos/exactextract/src/gdal_dataset_wrapper.cpp...
Preprocessing /home/kasra545/github-repos/exactextract/src/gdal_dataset_wrapper.h...
Parsing file /home/kasra545/github-repos/exactextract/src/gdal_dataset_wrapper.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/gdal_raster_wrapper.cpp...
Parsing file /home/kasra545/github-repos/exactextract/src/gdal_raster_wrapper.cpp...
Preprocessing /home/kasra545/github-repos/exactextract/src/gdal_raster_wrapper.h...
Parsing file /home/kasra545/github-repos/exactextract/src/gdal_raster_wrapper.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/gdal_writer.cpp...
Parsing file /home/kasra545/github-repos/exactextract/src/gdal_writer.cpp...
Preprocessing /home/kasra545/github-repos/exactextract/src/gdal_writer.h...
Parsing file /home/kasra545/github-repos/exactextract/src/gdal_writer.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/geos_utils.cpp...
Parsing file /home/kasra545/github-repos/exactextract/src/geos_utils.cpp...
Preprocessing /home/kasra545/github-repos/exactextract/src/geos_utils.h...
Parsing file /home/kasra545/github-repos/exactextract/src/geos_utils.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/grid.cpp...
Parsing file /home/kasra545/github-repos/exactextract/src/grid.cpp...
Preprocessing /home/kasra545/github-repos/exactextract/src/grid.h...
Parsing file /home/kasra545/github-repos/exactextract/src/grid.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/matrix.h...
Parsing file /home/kasra545/github-repos/exactextract/src/matrix.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/operation.h...
Parsing file /home/kasra545/github-repos/exactextract/src/operation.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/output_writer.cpp...
Parsing file /home/kasra545/github-repos/exactextract/src/output_writer.cpp...
Preprocessing /home/kasra545/github-repos/exactextract/src/output_writer.h...
Parsing file /home/kasra545/github-repos/exactextract/src/output_writer.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/perimeter_distance.cpp...
Parsing file /home/kasra545/github-repos/exactextract/src/perimeter_distance.cpp...
Preprocessing /home/kasra545/github-repos/exactextract/src/perimeter_distance.h...
Parsing file /home/kasra545/github-repos/exactextract/src/perimeter_distance.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/processor.cpp...
Parsing file /home/kasra545/github-repos/exactextract/src/processor.cpp...
Preprocessing /home/kasra545/github-repos/exactextract/src/processor.h...
Parsing file /home/kasra545/github-repos/exactextract/src/processor.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/raster.h...
Parsing file /home/kasra545/github-repos/exactextract/src/raster.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/raster_area.h...
Parsing file /home/kasra545/github-repos/exactextract/src/raster_area.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/raster_cell_intersection.cpp...
Parsing file /home/kasra545/github-repos/exactextract/src/raster_cell_intersection.cpp...
Preprocessing /home/kasra545/github-repos/exactextract/src/raster_cell_intersection.h...
Parsing file /home/kasra545/github-repos/exactextract/src/raster_cell_intersection.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/raster_sequential_processor.cpp...
Parsing file /home/kasra545/github-repos/exactextract/src/raster_sequential_processor.cpp...
Preprocessing /home/kasra545/github-repos/exactextract/src/raster_sequential_processor.h...
Parsing file /home/kasra545/github-repos/exactextract/src/raster_sequential_processor.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/raster_source.h...
Parsing file /home/kasra545/github-repos/exactextract/src/raster_source.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/raster_stats.h...
Parsing file /home/kasra545/github-repos/exactextract/src/raster_stats.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/side.cpp...
Parsing file /home/kasra545/github-repos/exactextract/src/side.cpp...
Preprocessing /home/kasra545/github-repos/exactextract/src/side.h...
Parsing file /home/kasra545/github-repos/exactextract/src/side.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/stats_registry.h...
Parsing file /home/kasra545/github-repos/exactextract/src/stats_registry.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/traversal.cpp...
Parsing file /home/kasra545/github-repos/exactextract/src/traversal.cpp...
Preprocessing /home/kasra545/github-repos/exactextract/src/traversal.h...
Parsing file /home/kasra545/github-repos/exactextract/src/traversal.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/traversal_areas.cpp...
Parsing file /home/kasra545/github-repos/exactextract/src/traversal_areas.cpp...
Preprocessing /home/kasra545/github-repos/exactextract/src/traversal_areas.h...
Parsing file /home/kasra545/github-repos/exactextract/src/traversal_areas.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/utils.cpp...
Parsing file /home/kasra545/github-repos/exactextract/src/utils.cpp...
Preprocessing /home/kasra545/github-repos/exactextract/src/utils.h...
Parsing file /home/kasra545/github-repos/exactextract/src/utils.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/variance.h...
Parsing file /home/kasra545/github-repos/exactextract/src/variance.h...
Preprocessing /home/kasra545/github-repos/exactextract/src/weighted_quantiles.cpp...
Parsing file /home/kasra545/github-repos/exactextract/src/weighted_quantiles.cpp...
Preprocessing /home/kasra545/github-repos/exactextract/src/weighted_quantiles.h...
Parsing file /home/kasra545/github-repos/exactextract/src/weighted_quantiles.h...
Building group list...
Building directory list...
Building namespace list...
Building file list...
Building class list...
Computing nesting relations for classes...
Associating documentation with classes...
Building example list...
Searching for enumerations...
Searching for documented typedefs...
Searching for members imported via using declarations...
Searching for included using directives...
Searching for documented variables...
Building interface member list...
Building member list...
Searching for friends...
Searching for documented defines...
Computing class inheritance relations...
Computing class usage relations...
Flushing cached template relations that have become invalid...
Computing class relations...
Add enum values to enums...
Searching for member function documentation...
Creating members for template instances...
Building page list...
Search for main page...
Computing page relations...
Determining the scope of groups...
Sorting lists...
Determining which enums are documented
Computing member relations...
Building full member lists recursively...
Adding members to member groups.
Computing member references...
Inheriting documentation...
Generating disk names...
Adding source references...
Adding xrefitems...
Sorting member lists...
Setting anonymous enum type...
Computing dependencies between directories...
Generating citations page...
Counting members...
Counting data structures...
Resolving user defined references...
Finding anchors and sections in the documentation...
Transferring function references...
Combining using relations...
Adding members to index pages...
Correcting members for VHDL...
Generating style sheet...
Generating search indices...
Generating example documentation...
Generating file sources...
Generating code for file /home/kasra545/github-repos/exactextract/src/area.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/box.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/cell.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/coordinate.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/crossing.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/feature_sequential_processor.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/floodfill.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/gdal_dataset_wrapper.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/gdal_raster_wrapper.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/gdal_writer.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/geos_utils.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/grid.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/matrix.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/operation.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/output_writer.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/perimeter_distance.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/processor.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/raster.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/raster_area.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/raster_cell_intersection.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/raster_sequential_processor.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/raster_source.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/raster_stats.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/side.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/stats_registry.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/traversal.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/traversal_areas.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/utils.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/variance.h...
Generating code for file /home/kasra545/github-repos/exactextract/src/weighted_quantiles.h...
Generating file documentation...
Generating docs for file /home/kasra545/github-repos/exactextract/src/area.cpp...
Generating docs for file /home/kasra545/github-repos/exactextract/src/area.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/box.cpp...
Generating docs for file /home/kasra545/github-repos/exactextract/src/box.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/cell.cpp...
Generating docs for file /home/kasra545/github-repos/exactextract/src/cell.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/coordinate.cpp...
Generating docs for file /home/kasra545/github-repos/exactextract/src/coordinate.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/crossing.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/exactextract.cpp...
Generating docs for file /home/kasra545/github-repos/exactextract/src/feature_sequential_processor.cpp...
Generating docs for file /home/kasra545/github-repos/exactextract/src/feature_sequential_processor.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/floodfill.cpp...
Generating docs for file /home/kasra545/github-repos/exactextract/src/floodfill.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/gdal_dataset_wrapper.cpp...
Generating docs for file /home/kasra545/github-repos/exactextract/src/gdal_dataset_wrapper.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/gdal_raster_wrapper.cpp...
Generating docs for file /home/kasra545/github-repos/exactextract/src/gdal_raster_wrapper.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/gdal_writer.cpp...
Generating docs for file /home/kasra545/github-repos/exactextract/src/gdal_writer.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/geos_utils.cpp...
Generating docs for file /home/kasra545/github-repos/exactextract/src/geos_utils.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/grid.cpp...
Generating docs for file /home/kasra545/github-repos/exactextract/src/grid.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/matrix.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/operation.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/output_writer.cpp...
Generating docs for file /home/kasra545/github-repos/exactextract/src/output_writer.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/perimeter_distance.cpp...
Generating docs for file /home/kasra545/github-repos/exactextract/src/perimeter_distance.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/processor.cpp...
Generating docs for file /home/kasra545/github-repos/exactextract/src/processor.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/raster.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/raster_area.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/raster_cell_intersection.cpp...
Generating docs for file /home/kasra545/github-repos/exactextract/src/raster_cell_intersection.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/raster_sequential_processor.cpp...
Generating docs for file /home/kasra545/github-repos/exactextract/src/raster_sequential_processor.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/raster_source.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/raster_stats.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/side.cpp...
Generating docs for file /home/kasra545/github-repos/exactextract/src/side.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/stats_registry.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/traversal.cpp...
Generating docs for file /home/kasra545/github-repos/exactextract/src/traversal.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/traversal_areas.cpp...
Generating docs for file /home/kasra545/github-repos/exactextract/src/traversal_areas.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/utils.cpp...
Generating docs for file /home/kasra545/github-repos/exactextract/src/utils.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/variance.h...
Generating docs for file /home/kasra545/github-repos/exactextract/src/weighted_quantiles.cpp...
Generating docs for file /home/kasra545/github-repos/exactextract/src/weighted_quantiles.h...
Generating page documentation...
Generating group documentation...
Generating class documentation...
Generating namespace index...
Generating docs for namespace exactextract
Generating docs for compound exactextract::AbstractRaster...
Generating docs for nested compound exactextract::AbstractRaster::Iterator...
Generating docs for compound exactextract::bounded_extent...
Generating docs for compound exactextract::Box...
Generating docs for compound exactextract::CartesianAreaRaster...
Generating docs for compound exactextract::Cell...
Generating docs for compound exactextract::Coordinate...
Generating docs for compound exactextract::CoordinateChain...
Generating docs for compound exactextract::Crossing...
Generating docs for compound exactextract::FeatureSequentialProcessor...
Generating docs for compound exactextract::fill_values...
Generating docs for compound exactextract::fill_values< float >...
Generating docs for compound exactextract::FloodFill...
Generating docs for compound exactextract::GDALDatasetWrapper...
Generating docs for compound exactextract::GDALRasterWrapper...
Generating docs for compound exactextract::GDALWriter...
Generating docs for compound exactextract::Grid...
Generating docs for compound exactextract::infinite_extent...
Generating docs for compound exactextract::Matrix...
Generating docs for compound exactextract::Operation...
Generating docs for compound exactextract::OutputWriter...
Generating docs for compound exactextract::Processor...
Generating docs for compound exactextract::Raster...
Generating docs for compound exactextract::RasterCellIntersection...
Generating docs for compound exactextract::RasterSequentialProcessor...
Generating docs for compound exactextract::RasterSource...
Generating docs for compound exactextract::RasterStats...
Generating docs for compound exactextract::RasterView...
Generating docs for compound exactextract::SphericalAreaRaster...
Generating docs for compound exactextract::StatDescriptor...
Generating docs for compound exactextract::StatsRegistry...
Generating docs for compound exactextract::Traversal...
Generating docs for compound exactextract::WeightedQuantiles...
Generating docs for compound exactextract::WestVariance...
Generating graph info page...
Generating directory documentation...
Generating index page...
Generating page index...
Generating module index...
Generating namespace index...
Generating namespace member index...
Generating annotated compound index...
Generating alphabetical compound index...
Generating hierarchical class index...
Generating graphical class hierarchy...
Generating member index...
Generating file index...
Generating file member index...
Generating example index...
finalizing index lists...
writing tag file...
Running plantuml with JAVA...
Running dot...
Generating dot graphs using 33 parallel threads...
Running dot for graph 1/241
Running dot for graph 2/241
Running dot for graph 3/241
Running dot for graph 4/241
Running dot for graph 5/241
Running dot for graph 6/241
Running dot for graph 7/241
Running dot for graph 8/241
Running dot for graph 9/241
Running dot for graph 10/241
Running dot for graph 11/241
Running dot for graph 12/241
Running dot for graph 13/241
Running dot for graph 14/241
Running dot for graph 15/241
Running dot for graph 16/241
Running dot for graph 17/241
Running dot for graph 18/241
Running dot for graph 19/241
Running dot for graph 20/241
Running dot for graph 21/241
Running dot for graph 22/241
Running dot for graph 23/241
Running dot for graph 24/241
Running dot for graph 25/241
Running dot for graph 26/241
Running dot for graph 27/241
Running dot for graph 28/241
Running dot for graph 29/241
Running dot for graph 30/241
Running dot for graph 31/241
Running dot for graph 32/241
Running dot for graph 33/241
Running dot for graph 34/241
Running dot for graph 35/241
Running dot for graph 36/241
Running dot for graph 37/241
Running dot for graph 38/241
Running dot for graph 39/241
Running dot for graph 40/241
Running dot for graph 41/241
Running dot for graph 42/241
Running dot for graph 43/241
Running dot for graph 44/241
Running dot for graph 45/241
Running dot for graph 46/241
Running dot for graph 47/241
Running dot for graph 48/241
Running dot for graph 49/241
Running dot for graph 50/241
Running dot for graph 51/241
Running dot for graph 52/241
Running dot for graph 53/241
Running dot for graph 54/241
Running dot for graph 55/241
Running dot for graph 56/241
Running dot for graph 57/241
Running dot for graph 58/241
Running dot for graph 59/241
Running dot for graph 60/241
Running dot for graph 61/241
Running dot for graph 62/241
Running dot for graph 63/241
Running dot for graph 64/241
Running dot for graph 65/241
Running dot for graph 66/241
Running dot for graph 67/241
Running dot for graph 68/241
Running dot for graph 69/241
Running dot for graph 70/241
Running dot for graph 71/241
Running dot for graph 72/241
Running dot for graph 73/241
Running dot for graph 74/241
Running dot for graph 75/241
Running dot for graph 76/241
Running dot for graph 77/241
Running dot for graph 78/241
Running dot for graph 79/241
Running dot for graph 80/241
Running dot for graph 81/241
Running dot for graph 82/241
Running dot for graph 83/241
Running dot for graph 84/241
Running dot for graph 85/241
Running dot for graph 86/241
Running dot for graph 87/241
Running dot for graph 88/241
Running dot for graph 89/241
Running dot for graph 90/241
Running dot for graph 91/241
Running dot for graph 92/241
Running dot for graph 93/241
Running dot for graph 94/241
Running dot for graph 95/241
Running dot for graph 96/241
Running dot for graph 97/241
Running dot for graph 98/241
Running dot for graph 99/241
Running dot for graph 100/241
Running dot for graph 101/241
Running dot for graph 102/241
Running dot for graph 103/241
Running dot for graph 104/241
Running dot for graph 105/241
Running dot for graph 106/241
Running dot for graph 107/241
Running dot for graph 108/241
Running dot for graph 109/241
Running dot for graph 110/241
Running dot for graph 111/241
Running dot for graph 112/241
Running dot for graph 113/241
Running dot for graph 114/241
Running dot for graph 115/241
Running dot for graph 116/241
Running dot for graph 117/241
Running dot for graph 118/241
Running dot for graph 119/241
Running dot for graph 120/241
Running dot for graph 121/241
Running dot for graph 122/241
Running dot for graph 123/241
Running dot for graph 124/241
Running dot for graph 125/241
Running dot for graph 126/241
Running dot for graph 127/241
Running dot for graph 128/241
Running dot for graph 129/241
Running dot for graph 130/241
Running dot for graph 131/241
Running dot for graph 132/241
Running dot for graph 133/241
Running dot for graph 134/241
Running dot for graph 135/241
Running dot for graph 136/241
Running dot for graph 137/241
Running dot for graph 138/241
Running dot for graph 139/241
Running dot for graph 140/241
Running dot for graph 141/241
Running dot for graph 142/241
Running dot for graph 143/241
Running dot for graph 144/241
Running dot for graph 145/241
Running dot for graph 146/241
Running dot for graph 147/241
Running dot for graph 148/241
Running dot for graph 149/241
Running dot for graph 150/241
Running dot for graph 151/241
Running dot for graph 152/241
Running dot for graph 153/241
Running dot for graph 154/241
Running dot for graph 155/241
Running dot for graph 156/241
Running dot for graph 157/241
Running dot for graph 158/241
Running dot for graph 159/241
Running dot for graph 160/241
Running dot for graph 161/241
Running dot for graph 162/241
Running dot for graph 163/241
Running dot for graph 164/241
Running dot for graph 165/241
Running dot for graph 166/241
Running dot for graph 167/241
Running dot for graph 168/241
Running dot for graph 169/241
Running dot for graph 170/241
Running dot for graph 171/241
Running dot for graph 172/241
Running dot for graph 173/241
Running dot for graph 174/241
Running dot for graph 175/241
Running dot for graph 176/241
Running dot for graph 177/241
Running dot for graph 178/241
Running dot for graph 179/241
Running dot for graph 180/241
Running dot for graph 181/241
Running dot for graph 182/241
Running dot for graph 183/241
Running dot for graph 184/241
Running dot for graph 185/241
Running dot for graph 186/241
Running dot for graph 187/241
Running dot for graph 188/241
Running dot for graph 189/241
Running dot for graph 190/241
Running dot for graph 191/241
Running dot for graph 192/241
Running dot for graph 193/241
Running dot for graph 194/241
Running dot for graph 195/241
Running dot for graph 196/241
Running dot for graph 197/241
Running dot for graph 198/241
Running dot for graph 199/241
Running dot for graph 200/241
Running dot for graph 201/241
Running dot for graph 202/241
Running dot for graph 203/241
Running dot for graph 204/241
Running dot for graph 205/241
Running dot for graph 206/241
Running dot for graph 207/241
Running dot for graph 208/241
Running dot for graph 209/241
Running dot for graph 210/241
Running dot for graph 211/241
Running dot for graph 212/241
Running dot for graph 213/241
Running dot for graph 214/241
Running dot for graph 215/241
Running dot for graph 216/241
Running dot for graph 217/241
Running dot for graph 218/241
Running dot for graph 219/241
Running dot for graph 220/241
Running dot for graph 221/241
Running dot for graph 222/241
Running dot for graph 223/241
Running dot for graph 224/241
Running dot for graph 225/241
Running dot for graph 226/241
Running dot for graph 227/241
Running dot for graph 228/241
Running dot for graph 229/241
Running dot for graph 230/241
Running dot for graph 231/241
Running dot for graph 232/241
Running dot for graph 233/241
Running dot for graph 234/241
Running dot for graph 235/241
Running dot for graph 236/241
Running dot for graph 237/241
Running dot for graph 238/241
Running dot for graph 239/241
Running dot for graph 240/241
Running dot for graph 241/241
Patching output file 1/135
Patching output file 2/135
Patching output file 3/135
Patching output file 4/135
Patching output file 5/135
Patching output file 6/135
Patching output file 7/135
Patching output file 8/135
Patching output file 9/135
Patching output file 10/135
Patching output file 11/135
Patching output file 12/135
Patching output file 13/135
Patching output file 14/135
Patching output file 15/135
Patching output file 16/135
Patching output file 17/135
Patching output file 18/135
Patching output file 19/135
Patching output file 20/135
Patching output file 21/135
Patching output file 22/135
Patching output file 23/135
Patching output file 24/135
Patching output file 25/135
Patching output file 26/135
Patching output file 27/135
Patching output file 28/135
Patching output file 29/135
Patching output file 30/135
Patching output file 31/135
Patching output file 32/135
Patching output file 33/135
Patching output file 34/135
Patching output file 35/135
Patching output file 36/135
Patching output file 37/135
Patching output file 38/135
Patching output file 39/135
Patching output file 40/135
Patching output file 41/135
Patching output file 42/135
Patching output file 43/135
Patching output file 44/135
Patching output file 45/135
Patching output file 46/135
Patching output file 47/135
Patching output file 48/135
Patching output file 49/135
Patching output file 50/135
Patching output file 51/135
Patching output file 52/135
Patching output file 53/135
Patching output file 54/135
Patching output file 55/135
Patching output file 56/135
Patching output file 57/135
Patching output file 58/135
Patching output file 59/135
Patching output file 60/135
Patching output file 61/135
Patching output file 62/135
Patching output file 63/135
Patching output file 64/135
Patching output file 65/135
Patching output file 66/135
Patching output file 67/135
Patching output file 68/135
Patching output file 69/135
Patching output file 70/135
Patching output file 71/135
Patching output file 72/135
Patching output file 73/135
Patching output file 74/135
Patching output file 75/135
Patching output file 76/135
Patching output file 77/135
Patching output file 78/135
Patching output file 79/135
Patching output file 80/135
Patching output file 81/135
Patching output file 82/135
Patching output file 83/135
Patching output file 84/135
Patching output file 85/135
Patching output file 86/135
Patching output file 87/135
Patching output file 88/135
Patching output file 89/135
Patching output file 90/135
Patching output file 91/135
Patching output file 92/135
Patching output file 93/135
Patching output file 94/135
Patching output file 95/135
Patching output file 96/135
Patching output file 97/135
Patching output file 98/135
Patching output file 99/135
Patching output file 100/135
Patching output file 101/135
Patching output file 102/135
Patching output file 103/135
Patching output file 104/135
Patching output file 105/135
Patching output file 106/135
Patching output file 107/135
Patching output file 108/135
Patching output file 109/135
Patching output file 110/135
Patching output file 111/135
Patching output file 112/135
Patching output file 113/135
Patching output file 114/135
Patching output file 115/135
Patching output file 116/135
Patching output file 117/135
Patching output file 118/135
Patching output file 119/135
Patching output file 120/135
Patching output file 121/135
Patching output file 122/135
Patching output file 123/135
Patching output file 124/135
Patching output file 125/135
Patching output file 126/135
Patching output file 127/135
Patching output file 128/135
Patching output file 129/135
Patching output file 130/135
Patching output file 131/135
Patching output file 132/135
Patching output file 133/135
Patching output file 134/135
Patching output file 135/135
lookup cache used 873/65536 hits=5032 misses=938
finished...
[  2%] Built target doc_doxygen
Scanning dependencies of target exactextract_OBJ
[  5%] Building CXX object CMakeFiles/exactextract_OBJ.dir/src/area.cpp.o
[  7%] Building CXX object CMakeFiles/exactextract_OBJ.dir/src/box.cpp.o
[ 10%] Building CXX object CMakeFiles/exactextract_OBJ.dir/src/cell.cpp.o
[ 12%] Building CXX object CMakeFiles/exactextract_OBJ.dir/src/coordinate.cpp.o
[ 15%] Building CXX object CMakeFiles/exactextract_OBJ.dir/src/floodfill.cpp.o
[ 17%] Building CXX object CMakeFiles/exactextract_OBJ.dir/src/geos_utils.cpp.o
[ 20%] Building CXX object CMakeFiles/exactextract_OBJ.dir/src/grid.cpp.o
[ 23%] Building CXX object CMakeFiles/exactextract_OBJ.dir/src/perimeter_distance.cpp.o
[ 25%] Building CXX object CMakeFiles/exactextract_OBJ.dir/src/raster_cell_intersection.cpp.o
[ 28%] Building CXX object CMakeFiles/exactextract_OBJ.dir/src/side.cpp.o
[ 30%] Building CXX object CMakeFiles/exactextract_OBJ.dir/src/traversal.cpp.o
[ 33%] Building CXX object CMakeFiles/exactextract_OBJ.dir/src/traversal_areas.cpp.o
[ 35%] Building CXX object CMakeFiles/exactextract_OBJ.dir/src/output_writer.cpp.o
[ 38%] Building CXX object CMakeFiles/exactextract_OBJ.dir/src/utils.cpp.o
[ 41%] Building CXX object CMakeFiles/exactextract_OBJ.dir/src/weighted_quantiles.cpp.o
[ 41%] Built target exactextract_OBJ
Scanning dependencies of target exactextract_STATIC
[ 43%] Linking CXX static library libexactextract.a
[ 43%] Built target exactextract_STATIC
Scanning dependencies of target exactextract_SHARED
[ 46%] Linking CXX shared library libexactextract.so
[ 46%] Built target exactextract_SHARED
Scanning dependencies of target catch_tests
[ 48%] Building CXX object CMakeFiles/catch_tests.dir/test/test_box.cpp.o
/home/kasra545/github-repos/exactextract/test/test_box.cpp:7:10: error: expected constructor, destructor, or type conversion before ‘(’ token
    7 | TEST_CASE("Box dimensions are calculated correctly", "[box]" ) {
      |          ^
/home/kasra545/github-repos/exactextract/test/test_box.cpp:15:10: error: expected constructor, destructor, or type conversion before ‘(’ token
   15 | TEST_CASE("Coordinate sides are correctly identified", "[box]") {
      |          ^
/home/kasra545/github-repos/exactextract/test/test_box.cpp:25:10: error: expected constructor, destructor, or type conversion before ‘(’ token
   25 | TEST_CASE("Boxes with empty or negative dimensions are considered empty", "[box]") {
      |          ^
/home/kasra545/github-repos/exactextract/test/test_box.cpp:35:10: error: expected constructor, destructor, or type conversion before ‘(’ token
   35 | TEST_CASE("Box intersection test is correct", "[box]") {
      |          ^
/home/kasra545/github-repos/exactextract/test/test_box.cpp:55:10: error: expected constructor, destructor, or type conversion before ‘(’ token
   55 | TEST_CASE("Box intersection calculations are correct", "[box]") {
      |          ^
/home/kasra545/github-repos/exactextract/test/test_box.cpp:82:10: error: expected constructor, destructor, or type conversion before ‘(’ token
   82 | TEST_CASE("Boxes can be expanded to include other boxes", "[box]") {
      |          ^
/home/kasra545/github-repos/exactextract/test/test_box.cpp:120:10: error: expected constructor, destructor, or type conversion before ‘(’ token
  120 | TEST_CASE("Crossing is correctly determined", "[box]") {
      |          ^
make[2]: *** [CMakeFiles/catch_tests.dir/build.make:63: CMakeFiles/catch_tests.dir/test/test_box.cpp.o] Error 1
make[1]: *** [CMakeFiles/Makefile2:194: CMakeFiles/catch_tests.dir/all] Error 2
make: *** [Makefile:130: all] Error 2

System info

[kasra545@gra796 cmake-build-release]$ cat /etc/*-release
CentOS Linux release 7.9.2009 (Core)
NAME="CentOS Linux"
VERSION="7 (Core)"
ID="centos"
ID_LIKE="rhel fedora"
VERSION_ID="7"
PRETTY_NAME="CentOS Linux 7 (Core)"
ANSI_COLOR="0;31"
CPE_NAME="cpe:/o:centos:centos:7"
HOME_URL="https://www.centos.org/"
BUG_REPORT_URL="https://bugs.centos.org/"

CENTOS_MANTISBT_PROJECT="CentOS-7"
CENTOS_MANTISBT_PROJECT_VERSION="7"
REDHAT_SUPPORT_PRODUCT="centos"
REDHAT_SUPPORT_PRODUCT_VERSION="7"

CentOS Linux release 7.9.2009 (Core)
CentOS Linux release 7.9.2009 (Core)
[kasra545@gra796 cmake-build-release]$ gcc --version
gcc (GCC) 9.3.0
Copyright (C) 2019 Free Software Foundation, Inc.
This is free software; see the source for copying conditions.  There is NO
warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.

[kasra545@gra796 cmake-build-release]$ cmake --version
cmake version 3.16.5

CMake suite maintained and supported by Kitware (kitware.com/cmake).
[kasra545@gra796 cmake-build-release]$ module list | grep geos
  2) gentoo/2020    (S)   5) intel/2020.1.217 (t)      8) openmpi/4.0.3    (m)  11) hdf5/1.10.6  (io)  14) jasper/2.0.16  (vis)  17) expat/2.2.9    (t)    20) libdap/3.20.6         23) libffi/3.3          26) geos/3.10.2 (geo)
[kasra545@gra796 cmake-build-release]$ module list | grep gdal
  1) CCconfig             4) imkl/2020.1.217  (math)   7) libfabric/1.10.1      10) mii/1.1.1          13) yaxt/0.9.0     (t)    16) cdo/2.0.4      (geo)  19) antlr/2.7.7           22) nco/5.0.6     (io)  25) gdal/3.0.4  (geo)

Emit error or automatically reproject on CRS mismatch

Running in mac terminal after running docker
exactextract -r lat:sample.tif[1] -p Block-polygon.shp -f District -s mean(lat) -o minimum.csv

bash: syntax error near unexpected token `('

Running in Docker container cli

exactextract -r lat:sample.tif -p Block-polygon.shp -f District -s mean(lat) -o minimum.csv

/bin/sh: 1: Syntax error: "(" unexpected

Incorrect coverage fraction for invalid polygon

When a polygon self-intersects within a grid cell, it may cause the coverage fraction of that grid cell to be incorrect. Returning incorrect results is undesirable, but so is pre-checking all inputs for validity. A reasonable alternative might be to sum all of the covered cell areas and compare that to the area of the input polygon, raising an error if these differ beyond some tolerance.

Error compiling in macos - 'geos_c.h' not found

Hi! I'm trying to install exactextract after installing and checking the dependencies and I can't build it. I get this error every single time:

(ee) aldotapia@MacBook-Aldo cmake-build-release % make
[  3%] Building CXX object CMakeFiles/exactextract_OBJ.dir/src/area.cpp.o
[  6%] Building CXX object CMakeFiles/exactextract_OBJ.dir/src/box.cpp.o
[  9%] Building CXX object CMakeFiles/exactextract_OBJ.dir/src/cell.cpp.o
In file included from /Users/aldotapia/exactextract/src/cell.cpp:20:
/Users/aldotapia/exactextract/src/geos_utils.h:24:10: fatal error: 'geos_c.h'
      file not found
#include <geos_c.h>
         ^~~~~~~~~~
1 error generated.
make[2]: *** [CMakeFiles/exactextract_OBJ.dir/src/cell.cpp.o] Error 1
make[1]: *** [CMakeFiles/exactextract_OBJ.dir/all] Error 2
make: *** [all] Error 2

Versions of GEOS and GDAL:

(ee) aldotapia@MacBook-Aldo cmake-build-release % geos-config --version
3.10.2
(ee) aldotapia@MacBook-Aldo cmake-build-release % gdalinfo --version
GDAL 3.4.2, released 2022/03/08

I have installed geos with conda install -c conda-forge geos and brew install geos. I'm inside an anaconda environment, macos Monterrey 12.1

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.