Skip to content

SuperBuild error at GEOS build step on Ubuntu 17.10

Description

SuperBuild build error at GEOS step. Content of GEOS/src/GEOS-stamp/GEOS-build-err.log:

In file included from /home/poughov/build/SuperBuild-develop/GEOS/src/GEOS/include/geos/geom/Coordinate.h:19:0,
                 from /home/poughov/build/SuperBuild-develop/GEOS/src/GEOS/src/algorithm/Angle.cpp:23:
/home/poughov/build/SuperBuild-develop/GEOS/src/GEOS/include/geos/geom/Coordinate.inl: In member function ‘bool geos::geom::Coordinate::isNull() const’:
/home/poughov/build/SuperBuild-develop/GEOS/src/GEOS/include/geos/platform.h:142:20: error: ‘isnan’ was not declared in this scope
 #  define ISNAN(x) isnan(x)
                    ^
/home/poughov/build/SuperBuild-develop/GEOS/src/GEOS/include/geos/geom/Coordinate.inl:38:10: note: in expansion of macro ‘ISNAN’
  return (ISNAN(x) && ISNAN(y) && ISNAN(z));
          ^~~~~
/home/poughov/build/SuperBuild-develop/GEOS/src/GEOS/include/geos/platform.h:142:20: note: suggested alternative:
 #  define ISNAN(x) isnan(x)
                    ^
/home/poughov/build/SuperBuild-develop/GEOS/src/GEOS/include/geos/geom/Coordinate.inl:38:10: note: in expansion of macro ‘ISNAN’
  return (ISNAN(x) && ISNAN(y) && ISNAN(z));
          ^~~~~
In file included from /home/poughov/build/SuperBuild-develop/GEOS/src/GEOS/src/algorithm/Angle.cpp:19:0:
/usr/include/c++/7/cmath:639:5: note:   ‘std::isnan’
     isnan(_Tp __x)
     ^~~~~
In file included from /home/poughov/build/SuperBuild-develop/GEOS/src/GEOS/include/geos/geom/Coordinate.h:19:0,
                 from /home/poughov/build/SuperBuild-develop/GEOS/src/GEOS/src/algorithm/Angle.cpp:23:
/home/poughov/build/SuperBuild-develop/GEOS/src/GEOS/include/geos/geom/Coordinate.inl: In member function ‘bool geos::geom::Coordinate::equals3D(const geos::geom::Coordinate&) const’:
/home/poughov/build/SuperBuild-develop/GEOS/src/GEOS/include/geos/platform.h:142:20: error: ‘isnan’ was not declared in this scope
 #  define ISNAN(x) isnan(x)
                    ^
/home/poughov/build/SuperBuild-develop/GEOS/src/GEOS/include/geos/geom/Coordinate.inl:77:21: note: in expansion of macro ‘ISNAN’
   ((z == other.z)||(ISNAN(z) && ISNAN(other.z)));
                     ^~~~~
/home/poughov/build/SuperBuild-develop/GEOS/src/GEOS/include/geos/platform.h:142:20: note: suggested alternative:
 #  define ISNAN(x) isnan(x)
                    ^
/home/poughov/build/SuperBuild-develop/GEOS/src/GEOS/include/geos/geom/Coordinate.inl:77:21: note: in expansion of macro ‘ISNAN’
   ((z == other.z)||(ISNAN(z) && ISNAN(other.z)));
                     ^~~~~
In file included from /home/poughov/build/SuperBuild-develop/GEOS/src/GEOS/src/algorithm/Angle.cpp:19:0:
/usr/include/c++/7/cmath:639:5: note:   ‘std::isnan’
     isnan(_Tp __x)
     ^~~~~
make[5]: *** [src/CMakeFiles/geos.dir/algorithm/Angle.cpp.o] Error 1
make[4]: *** [src/CMakeFiles/geos.dir/all] Error 2
make[3]: *** [all] Error 2

Steps to reproduce

SuperBuild with this config:

#!/bin/bash
set -euo pipefail

cd ~/cnes/dev/otb/
cd ~/build/SuperBuild-develop
cmake ~/cnes/dev/otb/SuperBuild \
    -DCMAKE_INSTALL_PREFIX=install \
    -DCMAKE_CXX_FLAGS="-std=c++11" \
    -DOTB_USE_OPENGL=ON \
    -DOTB_USE_QT4=ON \
    -DOTB_USE_QWT=ON \
    -DOTB_USE_GLEW=ON \
    -DOTB_USE_SHARK=ON \
    -DENABLE_OTB_LARGE_INPUTS=ON \
    -DOTB_WRAP_PYTHON=ON \
    -DCMAKE_BUILD_TYPE=Debug \
    -DBUILD_EXAMPLES=ON \
    -DOTB_DATA_ROOT=/home/poughov/cnes/dev/otb-data \
    -DOTB_DATA_LARGEINPUT_ROOT=/home/poughov/hal/siaa/OTB/LargeInput \
    -DDOWNLOAD_LOCATION=/home/poughov/Downloads

Configuration information

SuperBuild on Ubuntu 17.10