[geos-devel] [GEOS] #853: Windows compile failing on 32/64bit with CMake: Could not find finite or isfinite function or macro!

GEOS geos-trac at osgeo.org
Tue Jan 16 01:07:15 PST 2018


#853: Windows compile failing on 32/64bit with CMake: Could not find finite or
isfinite function or macro!
----------------------+------------------------
 Reporter:  robe      |       Owner:  cvvergara
     Type:  defect    |      Status:  new
 Priority:  major     |   Milestone:  3.7.0
Component:  Default   |     Version:  master
 Severity:  Critical  |  Resolution:
 Keywords:            |
----------------------+------------------------
Changes (by strk):

 * cc: cvvergara (added)
 * owner:  geos-devel@… => cvvergara


Old description:

> Just noticed this, winnie's compiles started failing after these committs
> sometime January 10th.  Not sure which is at fault.
>
> https://winnie.postgis.net:444/job/GEOS_Master/GCC_TYPE=gcc481,MAKE_TYPE=cmake,OS_BUILD=32/142/
>
> {{{
> Summary
>
>     removing -ansi and fPIC from C++ compilation (details)
>     getting stricter with warnings (details)
>     cmake: improving handling version (details)
>
> Commit ed57b476690b07f1e8b51b015ec35ac6970aac7e by Sandro Santilli
>
> removing -ansi and fPIC from C++ compilation
>
> The file was modified   CMakeLists.txt
> Commit 62380be288dc5cd2e6b5e8afc69e7b9e716546dc by Sandro Santilli
>
> getting stricter with warnings
>
> The file was modified   CMakeLists.txt
> Commit d43e678578cfc60d02fbb051319d65e638474515 by Sandro Santilli
>
> cmake: improving handling version
> }}}
>
> Note she builds using CMake.  Transcript looks like this
>

> {{{
> -- The C compiler identification is GNU 4.8.3
> -- The CXX compiler identification is GNU 4.8.3
> -- Check for working C compiler: C:/ming64gcc48/mingw64/bin/gcc.exe
> -- Check for working C compiler: C:/ming64gcc48/mingw64/bin/gcc.exe --
> 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: C:/ming64gcc48/mingw64/bin/g++.exe
> -- Check for working CXX compiler: C:/ming64gcc48/mingw64/bin/g++.exe --
> works
> -- Detecting CXX compiler ABI info
>
> -- Detecting CXX compiler ABI info - done
> -- Detecting CXX compile features
>
> -- Detecting CXX compile features - done
> -- Setting C++ requirement to C++11
> -- Setting GEOS version 3.7.0dev as port of JTS 1.13.0
> -- Setting GEOS C API version 1.11.0
> -- Setting GEOS build type - Debug
> -- Forcing IEEE 754 using flag -ffloat-store - ON
> -- Setting GEOS compilation with small functions inlining - NO
> -- Setting GEOS compilation with assert() macro enabled - OFF
> -- Looking for include file stdint.h
>
> -- Looking for include file stdint.h - found
> -- Looking for include file inttypes.h
>
> -- Looking for include file inttypes.h - found
> -- Looking for include file ieeefp.h
> -- Looking for include file ieeefp.h - not found
> -- Looking for sys/types.h
>
> -- Looking for sys/types.h - found
> -- Looking for stddef.h
>
> -- Looking for stddef.h - found
> -- Check size of int64_t
>
> -- Check size of int64_t - done
> -- Performing Test HAVE_STD_ISFINITE
> -- Performing Test HAVE_STD_ISFINITE - Failed
> -- Looking for isfinite
>
> -- Looking for isfinite - not found
> -- Found Git: C:/ming64gcc48/msys/usr/bin/git.exe (found version "2.8.2")
> -- Generating GEOS E:/jenkins/geos/branches/build64cmake/geos_revision.h
> -- Generating GEOS
> E:/jenkins/geos/branches/build64cmake/include/geos/platform.h
> -- Generating GEOS
> E:/jenkins/geos/branches/build64cmake/include/geos/version.h
> -- Generating GEOS E:/jenkins/geos/branches/build64cmake/capi/geos_c.h
>
> -- Enable GEOS unit tests build - ON
> -- Enable GEOS XML tests build - ON
> -- Enable GEOS large geometry tests build - ON
> -- Enable GEOS performance tests build - ON
> -- CMake 3.7.2 successfully configured GEOS using MSYS Makefiles
> generator
> -- Configuring done
>
> -- Generating done
> -- Build files have been written to:
> E:/jenkins/geos/branches/build64cmake
>
> :
> :
> Scanning dependencies of target geos
> [  0%] Building CXX object
> src/CMakeFiles/geos.dir/algorithm/Angle.cpp.obj
>
> In file included from
> E:/jenkins/geos/branches/3.7cmake/include/geos/geom/Coordinate.h:19:0,
>                  from
> E:/jenkins/geos/branches/3.7cmake/src/algorithm/Angle.cpp:23:
> E:/jenkins/geos/branches/build64cmake/include/geos/platform.h:155:3:
> error: #error "Could not find finite or isfinite function or macro!"
>  # error "Could not find finite or isfinite function or macro!"
>    ^
> src/CMakeFiles/geos.dir/build.make:63: recipe for target
> 'src/CMakeFiles/geos.dir/algorithm/Angle.cpp.obj' failed
> make[2]: *** [src/CMakeFiles/geos.dir/algorithm/Angle.cpp.obj] Error 1
> CMakeFiles/Makefile2:201: recipe for target 'src/CMakeFiles/geos.dir/all'
> failed
> make[1]: *** [src/CMakeFiles/geos.dir/all] Error 2
> Makefile:138: recipe for target 'all' failed
> make: *** [all] Error 2
>
> }}}

New description:

 Just noticed this, winnie's compiles started failing after these committs
 sometime January 10th.  Not sure which is at fault.

 https://winnie.postgis.net:444/job/GEOS_Master/GCC_TYPE=gcc481,MAKE_TYPE=cmake,OS_BUILD=32/142/

 {{{
 Summary

     removing -ansi and fPIC from C++ compilation (details)
     getting stricter with warnings (details)
     cmake: improving handling version (details)

 Commit ed57b476690b07f1e8b51b015ec35ac6970aac7e by Sandro Santilli

 removing -ansi and fPIC from C++ compilation

 The file was modified   CMakeLists.txt
 Commit 62380be288dc5cd2e6b5e8afc69e7b9e716546dc by Sandro Santilli

 getting stricter with warnings

 The file was modified   CMakeLists.txt
 Commit d43e678578cfc60d02fbb051319d65e638474515 by Sandro Santilli

 cmake: improving handling version
 }}}

 Note she builds using CMake.  Transcript looks like this


 {{{
 -- The C compiler identification is GNU 4.8.3
 -- The CXX compiler identification is GNU 4.8.3
 -- Check for working C compiler: C:/ming64gcc48/mingw64/bin/gcc.exe
 -- Check for working C compiler: C:/ming64gcc48/mingw64/bin/gcc.exe --
 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: C:/ming64gcc48/mingw64/bin/g++.exe
 -- Check for working CXX compiler: C:/ming64gcc48/mingw64/bin/g++.exe --
 works
 -- Detecting CXX compiler ABI info

 -- Detecting CXX compiler ABI info - done
 -- Detecting CXX compile features

 -- Detecting CXX compile features - done
 -- Setting C++ requirement to C++11
 -- Setting GEOS version 3.7.0dev as port of JTS 1.13.0
 -- Setting GEOS C API version 1.11.0
 -- Setting GEOS build type - Debug
 -- Forcing IEEE 754 using flag -ffloat-store - ON
 -- Setting GEOS compilation with small functions inlining - NO
 -- Setting GEOS compilation with assert() macro enabled - OFF
 -- Looking for include file stdint.h

 -- Looking for include file stdint.h - found
 -- Looking for include file inttypes.h

 -- Looking for include file inttypes.h - found
 -- Looking for include file ieeefp.h
 -- Looking for include file ieeefp.h - not found
 -- Looking for sys/types.h

 -- Looking for sys/types.h - found
 -- Looking for stddef.h

 -- Looking for stddef.h - found
 -- Check size of int64_t

 -- Check size of int64_t - done
 -- Performing Test HAVE_STD_ISFINITE
 -- Performing Test HAVE_STD_ISFINITE - Failed
 -- Looking for isfinite

 -- Looking for isfinite - not found
 -- Found Git: C:/ming64gcc48/msys/usr/bin/git.exe (found version "2.8.2")
 -- Generating GEOS E:/jenkins/geos/branches/build64cmake/geos_revision.h
 -- Generating GEOS
 E:/jenkins/geos/branches/build64cmake/include/geos/platform.h
 -- Generating GEOS
 E:/jenkins/geos/branches/build64cmake/include/geos/version.h
 -- Generating GEOS E:/jenkins/geos/branches/build64cmake/capi/geos_c.h

 -- Enable GEOS unit tests build - ON
 -- Enable GEOS XML tests build - ON
 -- Enable GEOS large geometry tests build - ON
 -- Enable GEOS performance tests build - ON
 -- CMake 3.7.2 successfully configured GEOS using MSYS Makefiles generator
 -- Configuring done

 -- Generating done
 -- Build files have been written to: E:/jenkins/geos/branches/build64cmake

 :
 :
 [35m[1mScanning dependencies of target geos[0m
 [  0%] [32mBuilding CXX object
 src/CMakeFiles/geos.dir/algorithm/Angle.cpp.obj[0m

 In file included from
 E:/jenkins/geos/branches/3.7cmake/include/geos/geom/Coordinate.h:19:0,
                  from
 E:/jenkins/geos/branches/3.7cmake/src/algorithm/Angle.cpp:23:
 E:/jenkins/geos/branches/build64cmake/include/geos/platform.h:155:3:
 error: #error "Could not find finite or isfinite function or macro!"
  # error "Could not find finite or isfinite function or macro!"
    ^
 src/CMakeFiles/geos.dir/build.make:63: recipe for target
 'src/CMakeFiles/geos.dir/algorithm/Angle.cpp.obj' failed
 make[2]: *** [src/CMakeFiles/geos.dir/algorithm/Angle.cpp.obj] Error 1
 CMakeFiles/Makefile2:201: recipe for target 'src/CMakeFiles/geos.dir/all'
 failed
 make[1]: *** [src/CMakeFiles/geos.dir/all] Error 2
 Makefile:138: recipe for target 'all' failed
 make: *** [all] Error 2

 }}}

--

Comment:

 Commit author is actually Vicky, dunno why Jenkins doesn't show that. I
 did accept/commit her patches though.

 Vicki, can you look at this please ?

--
Ticket URL: <https://trac.osgeo.org/geos/ticket/853#comment:1>
GEOS <http://trac.osgeo.org/geos>
GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS).


More information about the geos-devel mailing list