#1094: CMake issue with berrie32 (raspberry pi) ------------------------+-------------------------- Reporter: robe | Owner: geos-devel@… Type: defect | Status: new Priority: minor | Milestone: 3.9.1 Component: Default | Version: 3.9.0 Severity: Unassigned | Keywords: ------------------------+-------------------------- I recently switched from autotools to cmake build on the berrie bots. I don't think this is a new issue as it was failing in autotools as well as I recall.
The 64-bit chain is running fine under cmake (was broken in autotools), but 32-bit chain is having issues. 32-bit chain error is below: Since there are way fewer 32-bit os now than in past, I consider this a minor issue. {{{ 23:11:24 [ 57%] Building CXX object CMakeFiles/geos.dir/src/triangulate/quadedge/QuadEdgeSubdivision.cpp.o 23:11:27 In file included from /usr/include/c++/8/vector:69, 23:11:27 from /home/jenkins/workspace/GEOS_Worker_Run/label/berrie/dae18d6c6555b4b129ec053af3a50f7045fd5413/include/geos/triangulate/quadedge/QuadEdgeSubdivision.h:27, 23:11:27 from /home/jenkins/workspace/GEOS_Worker_Run/label/berrie/dae18d6c6555b4b129ec053af3a50f7045fd5413/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:19: 23:11:27 /usr/include/c++/8/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const geos::geom::Coordinate&}; _Tp = geos::geom::Coordinate; _Alloc = std::allocator<geos::geom::Coordinate>]’: 23:11:27 /usr/include/c++/8/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector<geos::geom::Coordinate>::iterator’ {aka ‘__gnu_cxx::__normal_iterator<geos::geom::Coordinate*, std::vector<geos::geom::Coordinate> >’} changed in GCC 7.1 23:11:27 vector<_Tp, _Alloc>:: 23:11:27 ^~~~~~~~~~~~~~~~~~~ 23:11:27 In file included from /usr/include/c++/8/vector:64, 23:11:27 from /home/jenkins/workspace/GEOS_Worker_Run/label/berrie/dae18d6c6555b4b129ec053af3a50f7045fd5413/include/geos/triangulate/quadedge/QuadEdgeSubdivision.h:27, 23:11:27 from /home/jenkins/workspace/GEOS_Worker_Run/label/berrie/dae18d6c6555b4b129ec053af3a50f7045fd5413/src/triangulate/quadedge/QuadEdgeSubdivision.cpp:19: 23:11:27 /usr/include/c++/8/bits/stl_vector.h: In member function ‘std::unique_ptr<geos::geom::Geometry> geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellEdge(const geos::triangulate::quadedge::QuadEdge*, const geos::geom::GeometryFactory&)’: 23:11:27 /usr/include/c++/8/bits/stl_vector.h:1085:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<geos::geom::Coordinate*, std::vector<geos::geom::Coordinate> >’ changed in GCC 7.1 23:11:27 _M_realloc_insert(end(), __x); 23:11:27 ^~~~~~~~~~~~~~~~~ 23:11:27 /usr/include/c++/8/bits/stl_vector.h:1085:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<geos::geom::Coordinate*, std::vector<geos::geom::Coordinate> >’ changed in GCC 7.1 23:11:27 _M_realloc_insert(end(), __x); 23:11:27 ^~~~~~~~~~~~~~~~~ 23:11:28 /usr/include/c++/8/bits/stl_vector.h: In member function ‘std::unique_ptr<geos::geom::Geometry> geos::triangulate::quadedge::QuadEdgeSubdivision::getVoronoiCellPolygon(const geos::triangulate::quadedge::QuadEdge*, const geos::geom::GeometryFactory&)’: 23:11:28 /usr/include/c++/8/bits/stl_vector.h:1085:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<geos::geom::Coordinate*, std::vector<geos::geom::Coordinate> >’ changed in GCC 7.1 23:11:28 _M_realloc_insert(end(), __x); 23:11:28 ^~~~~~~~~~~~~~~~~ 23:11:28 /usr/include/c++/8/bits/stl_vector.h:1085:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<geos::geom::Coordinate*, std::vector<geos::geom::Coordinate> >’ changed in GCC 7.1 23:11:28 _M_realloc_insert(end(), __x); 23:11:28 ^~~~~~~~~~~~~~~~~ 23:11:28 /usr/include/c++/8/bits/stl_vector.h:1085:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<geos::geom::Coordinate*, std::vector<geos::geom::Coordinate> >’ changed in GCC 7.1 23:11:28 _M_realloc_insert(end(), __x); 23:11:28 ^~~~~~~~~~~~~~~~~ 23:11:29 [ 57%] Building CXX object CMakeFiles/geos.dir/src/triangulate/quadedge/TrianglePredicate.cpp.o 23:11:29 [ 57%] Building CXX object CMakeFiles/geos.dir/src/triangulate/quadedge/Vertex.cpp.o 23:11:31 [ 57%] Building CXX object CMakeFiles/geos.dir/src/util/Assert.cpp.o 23:11:32 [ 57%] Building CXX object CMakeFiles/geos.dir/src/util/GeometricShapeFactory.cpp.o 23:11:35 [ 58%] Building CXX object CMakeFiles/geos.dir/src/util/Interrupt.cpp.o 23:11:35 [ 58%] Building CXX object CMakeFiles/geos.dir/src/util/Profiler.cpp.o 23:11:37 In file included from /usr/include/c++/8/vector:69, 23:11:37 from /home/jenkins/workspace/GEOS_Worker_Run/label/berrie/dae18d6c6555b4b129ec053af3a50f7045fd5413/include/geos/profiler.h:25, 23:11:37 from /home/jenkins/workspace/GEOS_Worker_Run/label/berrie/dae18d6c6555b4b129ec053af3a50f7045fd5413/src/util/Profiler.cpp:15: 23:11:37 /usr/include/c++/8/bits/vector.tcc: In member function ‘void std::vector<_Tp, _Alloc>::_M_realloc_insert(std::vector<_Tp, _Alloc>::iterator, _Args&& ...) [with _Args = {const std::chrono::duration<long long int, std::ratio<1, 1000000> >&}; _Tp = std::chrono::duration<long long int, std::ratio<1, 1000000> >; _Alloc = std::allocator<std::chrono::duration<long long int, std::ratio<1, 1000000> > >]’: 23:11:37 /usr/include/c++/8/bits/vector.tcc:413:7: note: parameter passing for argument of type ‘std::vector<std::chrono::duration<long long int, std::ratio<1, 1000000> > >::iterator’ {aka ‘__gnu_cxx::__normal_iterator<std::chrono::duration<long long int, std::ratio<1, 1000000> >*, std::vector<std::chrono::duration<long long int, std::ratio<1, 1000000> > > >’} changed in GCC 7.1 23:11:37 vector<_Tp, _Alloc>:: 23:11:37 ^~~~~~~~~~~~~~~~~~~ 23:11:37 In file included from /usr/include/c++/8/vector:64, 23:11:37 from /home/jenkins/workspace/GEOS_Worker_Run/label/berrie/dae18d6c6555b4b129ec053af3a50f7045fd5413/include/geos/profiler.h:25, 23:11:37 from /home/jenkins/workspace/GEOS_Worker_Run/label/berrie/dae18d6c6555b4b129ec053af3a50f7045fd5413/src/util/Profiler.cpp:15: 23:11:37 /usr/include/c++/8/bits/stl_vector.h: In member function ‘void geos::util::Profiler::stop(std::__cxx11::string)’: 23:11:37 /usr/include/c++/8/bits/stl_vector.h:1085:4: note: parameter passing for argument of type ‘__gnu_cxx::__normal_iterator<std::chrono::duration<long long int, std::ratio<1, 1000000> >*, std::vector<std::chrono::duration<long long int, std::ratio<1, 1000000> > > >’ changed in GCC 7.1 23:11:37 _M_realloc_insert(end(), __x); 23:11:37 ^~~~~~~~~~~~~~~~~ 23:11:37 [ 58%] Building CXX object CMakeFiles/geos.dir/src/util/math.cpp.o 23:11:38 [ 58%] Building C object CMakeFiles/geos.dir/src/deps/ryu/d2s.c.o 23:11:38 cc1: warning: command line option ‘-fno-implicit-inline- templates’ is valid for C++/ObjC++ but not for C 23:11:38 /home/jenkins/workspace/GEOS_Worker_Run/label/berrie/dae18d6c6555b4b129ec053af3a50f7045fd5413/src/deps/ryu/d2s.c: In function ‘to_chars_uint64’: 23:11:38 /home/jenkins/workspace/GEOS_Worker_Run/label/berrie/dae18d6c6555b4b129ec053af3a50f7045fd5413/src/deps/ryu/d2s.c:534:9: warning: conversion to ‘int’ from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion] 23:11:38 return i; 23:11:38 ^ 23:11:38 /home/jenkins/workspace/GEOS_Worker_Run/label/berrie/dae18d6c6555b4b129ec053af3a50f7045fd5413/src/deps/ryu/d2s.c: In function ‘to_chars_fixed’: 23:11:38 /home/jenkins/workspace/GEOS_Worker_Run/label/berrie/dae18d6c6555b4b129ec053af3a50f7045fd5413/src/deps/ryu/d2s.c:553:28: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion] 23:11:38 trailing_integer_zeros = exp; 23:11:38 ^~~ 23:11:38 /home/jenkins/workspace/GEOS_Worker_Run/label/berrie/dae18d6c6555b4b129ec053af3a50f7045fd5413/src/deps/ryu/d2s.c:561:34: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion] 23:11:38 int32_t digits_to_trim = -exp - precision; 23:11:38 ^ 23:11:38 /home/jenkins/workspace/GEOS_Worker_Run/label/berrie/dae18d6c6555b4b129ec053af3a50f7045fd5413/src/deps/ryu/d2s.c:561:29: warning: conversion to ‘int32_t’ {aka ‘int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion] 23:11:38 int32_t digits_to_trim = -exp - precision; 23:11:38 ^ 23:11:38 /home/jenkins/workspace/GEOS_Worker_Run/label/berrie/dae18d6c6555b4b129ec053af3a50f7045fd5413/src/deps/ryu/d2s.c:584:14: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion] 23:11:38 olength -= digits_to_trim; 23:11:38 ^~ 23:11:38 /home/jenkins/workspace/GEOS_Worker_Run/label/berrie/dae18d6c6555b4b129ec053af3a50f7045fd5413/src/deps/ryu/d2s.c:601:29: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion] 23:11:38 trailing_integer_zeros = exp; 23:11:38 ^~~ 23:11:38 /home/jenkins/workspace/GEOS_Worker_Run/label/berrie/dae18d6c6555b4b129ec053af3a50f7045fd5413/src/deps/ryu/d2s.c:609:34: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion] 23:11:38 integer_part_length = olength - nexp; 23:11:38 ^ 23:11:38 /home/jenkins/workspace/GEOS_Worker_Run/label/berrie/dae18d6c6555b4b129ec053af3a50f7045fd5413/src/deps/ryu/d2s.c:611:50: warning: conversion to ‘int32_t’ {aka ‘const int’} from ‘uint32_t’ {aka ‘unsigned int’} may change the sign of the result [-Wsign-conversion] 23:11:38 if (decimal_part < pow_10(decimal_part_length - 1)) 23:11:38 ~~~~~~~~~~~~~~~~~~~~^~~ 23:11:38 /home/jenkins/workspace/GEOS_Worker_Run/label/berrie/dae18d6c6555b4b129ec053af3a50f7045fd5413/src/deps/ryu/d2s.c:623:33: warning: conversion to ‘uint32_t’ {aka ‘unsigned int’} from ‘int32_t’ {aka ‘int’} may change the sign of the result [-Wsign-conversion] 23:11:38 leading_decimal_zeros = nexp - olength; 23:11:38 ^ 23:11:40 [ 58%] Linking CXX shared library lib/libgeos.so 23:11:41 /usr/bin/ld: CMakeFiles/geos.dir/src/noding/BasicSegmentString.cpp.o:(.rodata+0x0): multiple definition of `typeinfo name for geos::noding::BasicSegmentString'; CMakeFiles/geos.dir/src/inlines.cpp.o:(.rodata+0x50): first defined here 23:11:41 /usr/bin/ld: CMakeFiles/geos.dir/src/noding/BasicSegmentString.cpp.o:(.data.rel.ro+0x0): multiple definition of `typeinfo for geos::noding::BasicSegmentString'; CMakeFiles/geos.dir/src/inlines.cpp.o:(.data.rel.ro+0x18): first defined here 23:11:41 /usr/bin/ld: CMakeFiles/geos.dir/src/noding/BasicSegmentString.cpp.o:(.data.rel.ro+0xc): multiple definition of `vtable for geos::noding::BasicSegmentString'; CMakeFiles/geos.dir/src/inlines.cpp.o:(.data.rel.ro+0xa0): first defined here 23:11:41 /usr/bin/ld: CMakeFiles/geos.dir/src/noding/MCIndexNoder.cpp.o:(.data.rel.ro+0x30): multiple definition of `vtable for geos::noding::MCIndexNoder'; CMakeFiles/geos.dir/src/inlines.cpp.o:(.data.rel.ro+0xc4): first defined here 23:11:41 /usr/bin/ld: CMakeFiles/geos.dir/src/noding/MCIndexNoder.cpp.o:(.rodata+0x34): multiple definition of `typeinfo name for geos::noding::MCIndexNoder'; CMakeFiles/geos.dir/src/inlines.cpp.o:(.rodata+0x74): first defined here 23:11:41 /usr/bin/ld: CMakeFiles/geos.dir/src/noding/MCIndexNoder.cpp.o:(.data.rel.ro+0xc): multiple definition of `typeinfo for geos::noding::MCIndexNoder'; CMakeFiles/geos.dir/src/inlines.cpp.o:(.data.rel.ro+0x24): first defined here 23:11:41 collect2: error: ld returned 1 exit status 23:11:41 make[2]: *** [CMakeFiles/geos.dir/build.make:5379: lib/libgeos.so.3.10.0dev] Error 1 23:11:41 make[1]: *** [CMakeFiles/Makefile2:585: CMakeFiles/geos.dir/all] Error 2 23:11:41 make: *** [Makefile:163: all] Error 2 23:11:41 Test project /home/jenkins/workspace/GEOS_Worker_Run/label/berrie/dae18d6c6555b4b129ec053af3a50f7045fd5413/build 23:11:41 Start 1: unit-algorithm-Angle 23:11:41 Could not find executable /home/jenkins/workspace/GEOS_Worker_Run/label/berrie/dae18d6c6555b4b129ec053af3a50f7045fd5413/build/bin/test_geos_unit }}} -- Ticket URL: <https://trac.osgeo.org/geos/ticket/1094> GEOS <http://trac.osgeo.org/geos> GEOS (Geometry Engine - Open Source) is a C++ port of the Java Topology Suite (JTS).
_______________________________________________ geos-devel mailing list geos-devel@lists.osgeo.org https://lists.osgeo.org/mailman/listinfo/geos-devel