Opened 6 years ago

Closed 6 years ago

Last modified 6 years ago

#853 closed defect (fixed)

Windows compile failing on 32/64bit with CMake: Could not find finite or isfinite function or macro!

Reported by: robe Owned by: cvvergara
Priority: major Milestone: 3.7.0
Component: Default Version: main
Severity: Critical Keywords:
Cc: cvvergara

Description (last modified by strk)

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

Change History (4)

comment:1 by strk, 6 years ago

Cc: cvvergara added
Description: modified (diff)
Owner: changed from geos-devel@… to cvvergara

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 ?

comment:2 by cvvergara, 6 years ago

current status: I modifyied: https://github.com/cvvergara/geos/blob/ticket853/include/geos/platform.h.cmake

Tests pass on appveyor: https://ci.appveyor.com/project/cvvergara/geos/build/1.0.36

waiting for travis to work:

back log on trvis: https://www.traviscistatus.com/incidents/c1s4dlyxd4lf

waiting for this: https://travis-ci.org/cvvergara/geos/builds/329668552

Waiting for Regina: is going to set up testing my fork on winnie

comment:3 by cvvergara <vicky@…>, 6 years ago

Resolution: fixed
Status: newclosed

In 4b23f09/git:

Updating platform.h.cmake Close #853

comment:4 by cvvergara <vicky@…>, 6 years ago

In 4b23f09/git:

Updating platform.h.cmake Close #853

Note: See TracTickets for help on using tickets.