ossimlabs / ossim

Core OSSIM (Open Source Software Image Map) package including C++ code for OSSIM library, command-line applications, tests, and build system
MIT License
296 stars 142 forks source link

Fails to build with GEOS 3.8.0 (error: no matching function for call to 'OssimPolyArea2dPrivate::setGeometry(std::unique_ptr<geos::geom::Geometry>)') #243

Closed sebastic closed 4 years ago

sebastic commented 4 years ago

OSSIM fails to build with GEOS 3.8.0:

[ 15%] Building CXX object src/CMakeFiles/ossim.dir/base/ossimPolyArea2d.cpp.o
cd /build/ossim-2.9.1/debian/build/src && /usr/bin/c++  -Dossim_EXPORTS -I/build/ossim-2.9.1/include -I/build/ossim-2.9.1/debian/build/include -I/usr/include/geos -I/usr/include/geotiff -I/usr/include/x86_64-linux-gnu -I/usr/include/jsoncpp -I/usr/include/freetype2  -g -O2 -fdebug-prefix-map=/build/ossim-2.9.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG -fPIC   -std=c++11 -o CMakeFiles/ossim.dir/base/ossimPolyArea2d.cpp.o -c /build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp
In file included from /usr/include/geos/geom/GeometryFactory.h:23,
                 from /build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:16:
/usr/include/geos/geom/Geometry.h:26:3: warning: #warning "The GEOS C++ API is unstable, please use the C API instead" [-Wcpp]
   26 | # warning "The GEOS C++ API is unstable, please use the C API instead"
      |   ^~~~~~~
/usr/include/geos/geom/Geometry.h:27:3: warning: #warning "HINT: #include geos_c.h" [-Wcpp]
   27 | # warning "HINT: #include geos_c.h"
      |   ^~~~~~~
[ 15%] Building CXX object src/CMakeFiles/ossim.dir/base/ossimPolyLine.cpp.o
cd /build/ossim-2.9.1/debian/build/src && /usr/bin/c++  -Dossim_EXPORTS -I/build/ossim-2.9.1/include -I/build/ossim-2.9.1/debian/build/include -I/usr/include/geos -I/usr/include/geotiff -I/usr/include/x86_64-linux-gnu -I/usr/include/jsoncpp -I/usr/include/freetype2  -g -O2 -fdebug-prefix-map=/build/ossim-2.9.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG -fPIC   -std=c++11 -o CMakeFiles/ossim.dir/base/ossimPolyLine.cpp.o -c /build/ossim-2.9.1/src/base/ossimPolyLine.cpp
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp: In member function 'void OssimPolyArea2dPrivate::setGeometry(const ossimPolygon&, const std::vector<ossimPolygon>&)':
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:152:64: error: no matching function for call to 'geos::geom::GeometryFactory::createPolygon(geos::geom::LinearRing*&, std::vector<geos::geom::Geometry*>*&)'
  152 |          m_geometry = geomFactory()->createPolygon(shell, holes);
      |                                                                ^
In file included from /build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:16:
/usr/include/geos/geom/GeometryFactory.h:268:30: note: candidate: 'std::unique_ptr<geos::geom::Polygon> geos::geom::GeometryFactory::createPolygon() const'
  268 |     std::unique_ptr<Polygon> createPolygon() const;
      |                              ^~~~~~~~~~~~~
/usr/include/geos/geom/GeometryFactory.h:268:30: note:   candidate expects 0 arguments, 2 provided
/usr/include/geos/geom/GeometryFactory.h:271:14: note: candidate: 'geos::geom::Polygon* geos::geom::GeometryFactory::createPolygon(geos::geom::LinearRing*, std::vector<geos::geom::LinearRing*>*) const'
  271 |     Polygon* createPolygon(LinearRing* shell,
      |              ^~~~~~~~~~~~~
/usr/include/geos/geom/GeometryFactory.h:272:54: note:   no known conversion for argument 2 from 'std::vector<geos::geom::Geometry*>*' to 'std::vector<geos::geom::LinearRing*>*'
  272 |                            std::vector<LinearRing*>* holes) const;
      |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/usr/include/geos/geom/GeometryFactory.h:274:30: note: candidate: 'std::unique_ptr<geos::geom::Polygon> geos::geom::GeometryFactory::createPolygon(std::unique_ptr<geos::geom::LinearRing>&&) const'
  274 |     std::unique_ptr<Polygon> createPolygon(std::unique_ptr<LinearRing> && shell) const;
      |                              ^~~~~~~~~~~~~
/usr/include/geos/geom/GeometryFactory.h:274:30: note:   candidate expects 1 argument, 2 provided
/usr/include/geos/geom/GeometryFactory.h:276:30: note: candidate: 'std::unique_ptr<geos::geom::Polygon> geos::geom::GeometryFactory::createPolygon(std::unique_ptr<geos::geom::LinearRing>&&, std::vector<std::unique_ptr<geos::geom::LinearRing> >&&) const'
  276 |     std::unique_ptr<Polygon> createPolygon(std::unique_ptr<LinearRing> && shell,
      |                              ^~~~~~~~~~~~~
/usr/include/geos/geom/GeometryFactory.h:276:75: note:   no known conversion for argument 1 from 'geos::geom::LinearRing*' to 'std::unique_ptr<geos::geom::LinearRing>&&'
  276 |     std::unique_ptr<Polygon> createPolygon(std::unique_ptr<LinearRing> && shell,
      |                                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~
/usr/include/geos/geom/GeometryFactory.h:280:14: note: candidate: 'geos::geom::Polygon* geos::geom::GeometryFactory::createPolygon(const geos::geom::LinearRing&, const std::vector<geos::geom::LinearRing*>&) const'
  280 |     Polygon* createPolygon(const LinearRing& shell,
      |              ^~~~~~~~~~~~~
/usr/include/geos/geom/GeometryFactory.h:280:46: note:   no known conversion for argument 1 from 'geos::geom::LinearRing*' to 'const geos::geom::LinearRing&'
  280 |     Polygon* createPolygon(const LinearRing& shell,
      |                            ~~~~~~~~~~~~~~~~~~^~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp: In member function 'const ossimPolyArea2d& ossimPolyArea2d::operator=(const ossimPolyArea2d&)':
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:379:75: error: no matching function for call to 'OssimPolyArea2dPrivate::setGeometry(std::unique_ptr<geos::geom::Geometry>)'
  379 |          m_privateData->setGeometry(rhs.m_privateData->m_geometry->clone());
      |                                                                           ^
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:99:6: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(const ossimPolygon&, const std::vector<ossimPolygon>&)'
   99 | void OssimPolyArea2dPrivate::setGeometry(
      |      ^~~~~~~~~~~~~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:100:24: note:   no known conversion for argument 1 from 'std::unique_ptr<geos::geom::Geometry>' to 'const ossimPolygon&'
  100 |    const ossimPolygon& exteriorRing, const vector<ossimPolygon>& interiorRings)
      |    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:9: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(OssimPolyArea2dPrivate::GeometryPtr)'
   72 |    void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}
      |         ^~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:33: note:   no known conversion for argument 1 from 'std::unique_ptr<geos::geom::Geometry>' to 'OssimPolyArea2dPrivate::GeometryPtr' {aka 'geos::geom::Geometry*'}
   72 |    void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}
      |                     ~~~~~~~~~~~~^~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp: In member function 'ossimPolyArea2d ossimPolyArea2d::operator&(const ossimPolyArea2d&) const':
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:440:77: error: no matching function for call to 'OssimPolyArea2dPrivate::setGeometry(std::unique_ptr<geos::geom::Geometry>)'
  440 |                                               rhs.m_privateData->m_geometry));
      |                                                                             ^
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:99:6: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(const ossimPolygon&, const std::vector<ossimPolygon>&)'
   99 | void OssimPolyArea2dPrivate::setGeometry(
      |      ^~~~~~~~~~~~~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:100:24: note:   no known conversion for argument 1 from 'std::unique_ptr<geos::geom::Geometry>' to 'const ossimPolygon&'
  100 |    const ossimPolygon& exteriorRing, const vector<ossimPolygon>& interiorRings)
      |    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:9: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(OssimPolyArea2dPrivate::GeometryPtr)'
   72 |    void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}
      |         ^~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:33: note:   no known conversion for argument 1 from 'std::unique_ptr<geos::geom::Geometry>' to 'OssimPolyArea2dPrivate::GeometryPtr' {aka 'geos::geom::Geometry*'}
   72 |    void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}
      |                     ~~~~~~~~~~~~^~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp: In member function 'ossimPolyArea2d ossimPolyArea2d::operator+(const ossimPolyArea2d&) const':
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:467:77: error: no matching function for call to 'OssimPolyArea2dPrivate::setGeometry(std::unique_ptr<geos::geom::Geometry>)'
  467 |                                               rhs.m_privateData->m_geometry));
      |                                                                             ^
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:99:6: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(const ossimPolygon&, const std::vector<ossimPolygon>&)'
   99 | void OssimPolyArea2dPrivate::setGeometry(
      |      ^~~~~~~~~~~~~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:100:24: note:   no known conversion for argument 1 from 'std::unique_ptr<geos::geom::Geometry>' to 'const ossimPolygon&'
  100 |    const ossimPolygon& exteriorRing, const vector<ossimPolygon>& interiorRings)
      |    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:9: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(OssimPolyArea2dPrivate::GeometryPtr)'
   72 |    void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}
      |         ^~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:33: note:   no known conversion for argument 1 from 'std::unique_ptr<geos::geom::Geometry>' to 'OssimPolyArea2dPrivate::GeometryPtr' {aka 'geos::geom::Geometry*'}
   72 |    void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}
      |                     ~~~~~~~~~~~~^~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp: In member function 'ossimPolyArea2d ossimPolyArea2d::operator-(const ossimPolyArea2d&) const':
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:493:77: error: no matching function for call to 'OssimPolyArea2dPrivate::setGeometry(std::unique_ptr<geos::geom::Geometry>)'
  493 |                                               rhs.m_privateData->m_geometry));
      |                                                                             ^
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:99:6: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(const ossimPolygon&, const std::vector<ossimPolygon>&)'
   99 | void OssimPolyArea2dPrivate::setGeometry(
      |      ^~~~~~~~~~~~~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:100:24: note:   no known conversion for argument 1 from 'std::unique_ptr<geos::geom::Geometry>' to 'const ossimPolygon&'
  100 |    const ossimPolygon& exteriorRing, const vector<ossimPolygon>& interiorRings)
      |    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:9: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(OssimPolyArea2dPrivate::GeometryPtr)'
   72 |    void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}
      |         ^~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:33: note:   no known conversion for argument 1 from 'std::unique_ptr<geos::geom::Geometry>' to 'OssimPolyArea2dPrivate::GeometryPtr' {aka 'geos::geom::Geometry*'}
   72 |    void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}
      |                     ~~~~~~~~~~~~^~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp: In member function 'const ossimPolyArea2d& ossimPolyArea2d::operator&=(const ossimPolyArea2d&)':
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:519:70: error: no matching function for call to 'OssimPolyArea2dPrivate::setGeometry(std::unique_ptr<geos::geom::Geometry>)'
  519 |                                        rhs.m_privateData->m_geometry));
      |                                                                      ^
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:99:6: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(const ossimPolygon&, const std::vector<ossimPolygon>&)'
   99 | void OssimPolyArea2dPrivate::setGeometry(
      |      ^~~~~~~~~~~~~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:100:24: note:   no known conversion for argument 1 from 'std::unique_ptr<geos::geom::Geometry>' to 'const ossimPolygon&'
  100 |    const ossimPolygon& exteriorRing, const vector<ossimPolygon>& interiorRings)
      |    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:9: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(OssimPolyArea2dPrivate::GeometryPtr)'
   72 |    void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}
      |         ^~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:33: note:   no known conversion for argument 1 from 'std::unique_ptr<geos::geom::Geometry>' to 'OssimPolyArea2dPrivate::GeometryPtr' {aka 'geos::geom::Geometry*'}
   72 |    void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}
      |                     ~~~~~~~~~~~~^~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp: In member function 'const ossimPolyArea2d& ossimPolyArea2d::operator+=(const ossimPolyArea2d&)':
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:544:70: error: no matching function for call to 'OssimPolyArea2dPrivate::setGeometry(std::unique_ptr<geos::geom::Geometry>)'
  544 |                                        rhs.m_privateData->m_geometry));
      |                                                                      ^
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:99:6: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(const ossimPolygon&, const std::vector<ossimPolygon>&)'
   99 | void OssimPolyArea2dPrivate::setGeometry(
      |      ^~~~~~~~~~~~~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:100:24: note:   no known conversion for argument 1 from 'std::unique_ptr<geos::geom::Geometry>' to 'const ossimPolygon&'
  100 |    const ossimPolygon& exteriorRing, const vector<ossimPolygon>& interiorRings)
      |    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:9: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(OssimPolyArea2dPrivate::GeometryPtr)'
   72 |    void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}
      |         ^~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:33: note:   no known conversion for argument 1 from 'std::unique_ptr<geos::geom::Geometry>' to 'OssimPolyArea2dPrivate::GeometryPtr' {aka 'geos::geom::Geometry*'}
   72 |    void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}
      |                     ~~~~~~~~~~~~^~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp: In member function 'const ossimPolyArea2d& ossimPolyArea2d::operator-=(const ossimPolyArea2d&)':
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:569:70: error: no matching function for call to 'OssimPolyArea2dPrivate::setGeometry(std::unique_ptr<geos::geom::Geometry>)'
  569 |                                        rhs.m_privateData->m_geometry));
      |                                                                      ^
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:99:6: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(const ossimPolygon&, const std::vector<ossimPolygon>&)'
   99 | void OssimPolyArea2dPrivate::setGeometry(
      |      ^~~~~~~~~~~~~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:100:24: note:   no known conversion for argument 1 from 'std::unique_ptr<geos::geom::Geometry>' to 'const ossimPolygon&'
  100 |    const ossimPolygon& exteriorRing, const vector<ossimPolygon>& interiorRings)
      |    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:9: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(OssimPolyArea2dPrivate::GeometryPtr)'
   72 |    void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}
      |         ^~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:33: note:   no known conversion for argument 1 from 'std::unique_ptr<geos::geom::Geometry>' to 'OssimPolyArea2dPrivate::GeometryPtr' {aka 'geos::geom::Geometry*'}
   72 |    void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}
      |                     ~~~~~~~~~~~~^~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp: In member function 'void ossimPolyArea2d::add(const ossimPolyArea2d&)':
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:595:68: error: cannot convert 'std::unique_ptr<geos::geom::Geometry>' to 'geos::geom::Geometry*' in initialization
  595 |       geos::geom::Geometry* geom = m_privateData->m_geometry->Union(rhs.m_privateData->m_geometry);
      |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~
      |                                                                    |
      |                                                                    std::unique_ptr<geos::geom::Geometry>
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp: In member function 'ossimPolyArea2d& ossimPolyArea2d::toMultiPolygon()':
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:776:67: error: no matching function for call to 'std::vector<geos::geom::Geometry*>::push_back(std::unique_ptr<geos::geom::Geometry>)'
  776 |                values.push_back(m_privateData->m_geometry->clone());
      |                                                                   ^
In file included from /usr/include/c++/9/vector:67,
                 from /build/ossim-2.9.1/include/ossim/base/ossimString.h:18,
                 from /build/ossim-2.9.1/include/ossim/base/ossimCommon.h:25,
                 from /build/ossim-2.9.1/include/ossim/base/ossimDpt.h:20,
                 from /build/ossim-2.9.1/include/ossim/base/ossimPolyArea2d.h:12,
                 from /build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:7:
/usr/include/c++/9/bits/stl_vector.h:1184:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = geos::geom::Geometry*; _Alloc = std::allocator<geos::geom::Geometry*>; std::vector<_Tp, _Alloc>::value_type = geos::geom::Geometry*]'
 1184 |       push_back(const value_type& __x)
      |       ^~~~~~~~~
/usr/include/c++/9/bits/stl_vector.h:1184:35: note:   no known conversion for argument 1 from 'std::unique_ptr<geos::geom::Geometry>' to 'geos::geom::Geometry* const&'
 1184 |       push_back(const value_type& __x)
      |                 ~~~~~~~~~~~~~~~~~~^~~
/usr/include/c++/9/bits/stl_vector.h:1200:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = geos::geom::Geometry*; _Alloc = std::allocator<geos::geom::Geometry*>; std::vector<_Tp, _Alloc>::value_type = geos::geom::Geometry*]'
 1200 |       push_back(value_type&& __x)
      |       ^~~~~~~~~
/usr/include/c++/9/bits/stl_vector.h:1200:30: note:   no known conversion for argument 1 from 'std::unique_ptr<geos::geom::Geometry>' to 'geos::geom::Geometry*&&'
 1200 |       push_back(value_type&& __x)
      |                 ~~~~~~~~~~~~~^~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:778:109: error: no matching function for call to 'geos::geom::GeometryFactory::createMultiPolygon(std::vector<geos::geom::Geometry*>&) const'
  778 |                m_privateData->setGeometry(m_privateData->m_geometry->getFactory()->createMultiPolygon(values));
      |                                                                                                             ^
In file included from /build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:16:
/usr/include/geos/geom/GeometryFactory.h:213:35: note: candidate: 'std::unique_ptr<geos::geom::MultiPolygon> geos::geom::GeometryFactory::createMultiPolygon() const'
  213 |     std::unique_ptr<MultiPolygon> createMultiPolygon() const;
      |                                   ^~~~~~~~~~~~~~~~~~
/usr/include/geos/geom/GeometryFactory.h:213:35: note:   candidate expects 0 arguments, 1 provided
/usr/include/geos/geom/GeometryFactory.h:216:19: note: candidate: 'geos::geom::MultiPolygon* geos::geom::GeometryFactory::createMultiPolygon(std::vector<geos::geom::Geometry*>*) const'
  216 |     MultiPolygon* createMultiPolygon(std::vector<Geometry*>* newPolys) const;
      |                   ^~~~~~~~~~~~~~~~~~
/usr/include/geos/geom/GeometryFactory.h:216:62: note:   no known conversion for argument 1 from 'std::vector<geos::geom::Geometry*>' to 'std::vector<geos::geom::Geometry*>*'
  216 |     MultiPolygon* createMultiPolygon(std::vector<Geometry*>* newPolys) const;
      |                                      ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~
/usr/include/geos/geom/GeometryFactory.h:219:19: note: candidate: 'geos::geom::MultiPolygon* geos::geom::GeometryFactory::createMultiPolygon(const std::vector<const geos::geom::Geometry*>&) const'
  219 |     MultiPolygon* createMultiPolygon(
      |                   ^~~~~~~~~~~~~~~~~~
/usr/include/geos/geom/GeometryFactory.h:220:45: note:   no known conversion for argument 1 from 'std::vector<geos::geom::Geometry*>' to 'const std::vector<const geos::geom::Geometry*>&'
  220 |         const std::vector<const Geometry*>& fromPolys) const;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
/usr/include/geos/geom/GeometryFactory.h:222:35: note: candidate: 'std::unique_ptr<geos::geom::MultiPolygon> geos::geom::GeometryFactory::createMultiPolygon(std::vector<std::unique_ptr<geos::geom::Polygon> >&&) const'
  222 |     std::unique_ptr<MultiPolygon> createMultiPolygon(
      |                                   ^~~~~~~~~~~~~~~~~~
/usr/include/geos/geom/GeometryFactory.h:223:50: note:   no known conversion for argument 1 from 'std::vector<geos::geom::Geometry*>' to 'std::vector<std::unique_ptr<geos::geom::Polygon> >&&'
  223 |         std::vector<std::unique_ptr<Polygon>> && fromPolys) const;
      |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
/usr/include/geos/geom/GeometryFactory.h:225:35: note: candidate: 'std::unique_ptr<geos::geom::MultiPolygon> geos::geom::GeometryFactory::createMultiPolygon(std::vector<std::unique_ptr<geos::geom::Geometry> >&&) const'
  225 |     std::unique_ptr<MultiPolygon> createMultiPolygon(
      |                                   ^~~~~~~~~~~~~~~~~~
/usr/include/geos/geom/GeometryFactory.h:226:55: note:   no known conversion for argument 1 from 'std::vector<geos::geom::Geometry*>' to 'std::vector<std::unique_ptr<geos::geom::Geometry> >&&'
  226 |             std::vector<std::unique_ptr<Geometry>> && fromPolys) const;
      |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp: In member function 'bool ossimPolyArea2d::loadState(const ossimKeywordlist&, const char*)':
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:848:64: error: no matching function for call to 'OssimPolyArea2dPrivate::setGeometry(std::unique_ptr<geos::geom::Geometry>)'
  848 |             m_privateData->setGeometry(reader.read(wkt.c_str()));
      |                                                                ^
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:99:6: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(const ossimPolygon&, const std::vector<ossimPolygon>&)'
   99 | void OssimPolyArea2dPrivate::setGeometry(
      |      ^~~~~~~~~~~~~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:100:24: note:   no known conversion for argument 1 from 'std::unique_ptr<geos::geom::Geometry>' to 'const ossimPolygon&'
  100 |    const ossimPolygon& exteriorRing, const vector<ossimPolygon>& interiorRings)
      |    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:9: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(OssimPolyArea2dPrivate::GeometryPtr)'
   72 |    void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}
      |         ^~~~~~~~~~~
/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:33: note:   no known conversion for argument 1 from 'std::unique_ptr<geos::geom::Geometry>' to 'OssimPolyArea2dPrivate::GeometryPtr' {aka 'geos::geom::Geometry*'}
   72 |    void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}
      |                     ~~~~~~~~~~~~^~~~
gpotts commented 4 years ago

Hello:

Our current dependency build is again geos 3.7.2, 3.7.3 will probably work as well. Looks like 3.8 was released just a few days ago.

Take care

Garrett

From: Bas Couwenberg notifications@github.com Reply-To: ossimlabs/ossim reply@reply.github.com Date: Sunday, October 13, 2019 at 11:23 AM To: ossimlabs/ossim ossim@noreply.github.com Cc: Subscribed subscribed@noreply.github.com Subject: [ossimlabs/ossim] Fails to build with GEOS 3.8.0 (error: no matching function for call to 'OssimPolyArea2dPrivate::setGeometry(std::unique_ptr)') (#243)

CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.

OSSIM fails to build with GEOS 3.8.0:

[ 15%] Building CXX object src/CMakeFiles/ossim.dir/base/ossimPolyArea2d.cpp.o

cd /build/ossim-2.9.1/debian/build/src && /usr/bin/c++ -Dossim_EXPORTS -I/build/ossim-2.9.1/include -I/build/ossim-2.9.1/debian/build/include -I/usr/include/geos -I/usr/include/geotiff -I/usr/include/x86_64-linux-gnu -I/usr/include/jsoncpp -I/usr/include/freetype2 -g -O2 -fdebug-prefix-map=/build/ossim-2.9.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG -fPIC -std=c++11 -o CMakeFiles/ossim.dir/base/ossimPolyArea2d.cpp.o -c /build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp

In file included from /usr/include/geos/geom/GeometryFactory.h:23,

             from /build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:16:

/usr/include/geos/geom/Geometry.h:26:3: warning: #warning "The GEOS C++ API is unstable, please use the C API instead" [-Wcpp]

26 | # warning "The GEOS C++ API is unstable, please use the C API instead"

  |   ^~~~~~~

/usr/include/geos/geom/Geometry.h:27:3: warning: #warning "HINT: #include geos_c.h" [-Wcpp]

27 | # warning "HINT: #include geos_c.h"

  |   ^~~~~~~

[ 15%] Building CXX object src/CMakeFiles/ossim.dir/base/ossimPolyLine.cpp.o

cd /build/ossim-2.9.1/debian/build/src && /usr/bin/c++ -Dossim_EXPORTS -I/build/ossim-2.9.1/include -I/build/ossim-2.9.1/debian/build/include -I/usr/include/geos -I/usr/include/geotiff -I/usr/include/x86_64-linux-gnu -I/usr/include/jsoncpp -I/usr/include/freetype2 -g -O2 -fdebug-prefix-map=/build/ossim-2.9.1=. -fstack-protector-strong -Wformat -Werror=format-security -Wdate-time -D_FORTIFY_SOURCE=2 -O3 -DNDEBUG -fPIC -std=c++11 -o CMakeFiles/ossim.dir/base/ossimPolyLine.cpp.o -c /build/ossim-2.9.1/src/base/ossimPolyLine.cpp

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp: In member function 'void OssimPolyArea2dPrivate::setGeometry(const ossimPolygon&, const std::vector&)':

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:152:64: error: no matching function for call to 'geos::geom::GeometryFactory::createPolygon(geos::geom::LinearRing&, std::vector<geos::geom::Geometry>*&)'

152 | m_geometry = geomFactory()->createPolygon(shell, holes);

  |                                                                ^

In file included from /build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:16:

/usr/include/geos/geom/GeometryFactory.h:268:30: note: candidate: 'std::unique_ptr geos::geom::GeometryFactory::createPolygon() const'

268 | std::unique_ptr createPolygon() const;

  |                              ^~~~~~~~~~~~~

/usr/include/geos/geom/GeometryFactory.h:268:30: note: candidate expects 0 arguments, 2 provided

/usr/include/geos/geom/GeometryFactory.h:271:14: note: candidate: 'geos::geom::Polygon geos::geom::GeometryFactory::createPolygon(geos::geom::LinearRing, std::vector<geos::geom::LinearRing>) const'

271 | Polygon createPolygon(LinearRing shell,

  |              ^~~~~~~~~~~~~

/usr/include/geos/geom/GeometryFactory.h:272:54: note: no known conversion for argument 2 from 'std::vector<geos::geom::Geometry>' to 'std::vector<geos::geom::LinearRing>'

272 | std::vector<LinearRing> holes) const;

  |                            ~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~

/usr/include/geos/geom/GeometryFactory.h:274:30: note: candidate: 'std::unique_ptr geos::geom::GeometryFactory::createPolygon(std::unique_ptr&&) const'

274 | std::unique_ptr createPolygon(std::unique_ptr && shell) const;

  |                              ^~~~~~~~~~~~~

/usr/include/geos/geom/GeometryFactory.h:274:30: note: candidate expects 1 argument, 2 provided

/usr/include/geos/geom/GeometryFactory.h:276:30: note: candidate: 'std::unique_ptr geos::geom::GeometryFactory::createPolygon(std::unique_ptr&&, std::vector<std::unique_ptr >&&) const'

276 | std::unique_ptr createPolygon(std::unique_ptr && shell,

  |                              ^~~~~~~~~~~~~

/usr/include/geos/geom/GeometryFactory.h:276:75: note: no known conversion for argument 1 from 'geos::geom::LinearRing*' to 'std::unique_ptr&&'

276 | std::unique_ptr createPolygon(std::unique_ptr && shell,

  |                                            ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~

/usr/include/geos/geom/GeometryFactory.h:280:14: note: candidate: 'geos::geom::Polygon geos::geom::GeometryFactory::createPolygon(const geos::geom::LinearRing&, const std::vector<geos::geom::LinearRing>&) const'

280 | Polygon* createPolygon(const LinearRing& shell,

  |              ^~~~~~~~~~~~~

/usr/include/geos/geom/GeometryFactory.h:280:46: note: no known conversion for argument 1 from 'geos::geom::LinearRing*' to 'const geos::geom::LinearRing&'

280 | Polygon* createPolygon(const LinearRing& shell,

  |                            ~~~~~~~~~~~~~~~~~~^~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp: In member function 'const ossimPolyArea2d& ossimPolyArea2d::operator=(const ossimPolyArea2d&)':

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:379:75: error: no matching function for call to 'OssimPolyArea2dPrivate::setGeometry(std::unique_ptr)'

379 | m_privateData->setGeometry(rhs.m_privateData->m_geometry->clone());

  |                                                                           ^

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:99:6: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(const ossimPolygon&, const std::vector&)'

99 | void OssimPolyArea2dPrivate::setGeometry(

  |      ^~~~~~~~~~~~~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:100:24: note: no known conversion for argument 1 from 'std::unique_ptr' to 'const ossimPolygon&'

100 | const ossimPolygon& exteriorRing, const vector& interiorRings)

  |    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:9: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(OssimPolyArea2dPrivate::GeometryPtr)'

72 | void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}

  |         ^~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:33: note: no known conversion for argument 1 from 'std::unique_ptr' to 'OssimPolyArea2dPrivate::GeometryPtr' {aka 'geos::geom::Geometry*'}

72 | void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}

  |                     ~~~~~~~~~~~~^~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp: In member function 'ossimPolyArea2d ossimPolyArea2d::operator&(const ossimPolyArea2d&) const':

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:440:77: error: no matching function for call to 'OssimPolyArea2dPrivate::setGeometry(std::unique_ptr)'

440 | rhs.m_privateData->m_geometry));

  |                                                                             ^

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:99:6: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(const ossimPolygon&, const std::vector&)'

99 | void OssimPolyArea2dPrivate::setGeometry(

  |      ^~~~~~~~~~~~~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:100:24: note: no known conversion for argument 1 from 'std::unique_ptr' to 'const ossimPolygon&'

100 | const ossimPolygon& exteriorRing, const vector& interiorRings)

  |    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:9: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(OssimPolyArea2dPrivate::GeometryPtr)'

72 | void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}

  |         ^~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:33: note: no known conversion for argument 1 from 'std::unique_ptr' to 'OssimPolyArea2dPrivate::GeometryPtr' {aka 'geos::geom::Geometry*'}

72 | void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}

  |                     ~~~~~~~~~~~~^~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp: In member function 'ossimPolyArea2d ossimPolyArea2d::operator+(const ossimPolyArea2d&) const':

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:467:77: error: no matching function for call to 'OssimPolyArea2dPrivate::setGeometry(std::unique_ptr)'

467 | rhs.m_privateData->m_geometry));

  |                                                                             ^

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:99:6: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(const ossimPolygon&, const std::vector&)'

99 | void OssimPolyArea2dPrivate::setGeometry(

  |      ^~~~~~~~~~~~~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:100:24: note: no known conversion for argument 1 from 'std::unique_ptr' to 'const ossimPolygon&'

100 | const ossimPolygon& exteriorRing, const vector& interiorRings)

  |    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:9: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(OssimPolyArea2dPrivate::GeometryPtr)'

72 | void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}

  |         ^~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:33: note: no known conversion for argument 1 from 'std::unique_ptr' to 'OssimPolyArea2dPrivate::GeometryPtr' {aka 'geos::geom::Geometry*'}

72 | void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}

  |                     ~~~~~~~~~~~~^~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp: In member function 'ossimPolyArea2d ossimPolyArea2d::operator-(const ossimPolyArea2d&) const':

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:493:77: error: no matching function for call to 'OssimPolyArea2dPrivate::setGeometry(std::unique_ptr)'

493 | rhs.m_privateData->m_geometry));

  |                                                                             ^

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:99:6: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(const ossimPolygon&, const std::vector&)'

99 | void OssimPolyArea2dPrivate::setGeometry(

  |      ^~~~~~~~~~~~~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:100:24: note: no known conversion for argument 1 from 'std::unique_ptr' to 'const ossimPolygon&'

100 | const ossimPolygon& exteriorRing, const vector& interiorRings)

  |    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:9: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(OssimPolyArea2dPrivate::GeometryPtr)'

72 | void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}

  |         ^~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:33: note: no known conversion for argument 1 from 'std::unique_ptr' to 'OssimPolyArea2dPrivate::GeometryPtr' {aka 'geos::geom::Geometry*'}

72 | void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}

  |                     ~~~~~~~~~~~~^~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp: In member function 'const ossimPolyArea2d& ossimPolyArea2d::operator&=(const ossimPolyArea2d&)':

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:519:70: error: no matching function for call to 'OssimPolyArea2dPrivate::setGeometry(std::unique_ptr)'

519 | rhs.m_privateData->m_geometry));

  |                                                                      ^

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:99:6: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(const ossimPolygon&, const std::vector&)'

99 | void OssimPolyArea2dPrivate::setGeometry(

  |      ^~~~~~~~~~~~~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:100:24: note: no known conversion for argument 1 from 'std::unique_ptr' to 'const ossimPolygon&'

100 | const ossimPolygon& exteriorRing, const vector& interiorRings)

  |    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:9: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(OssimPolyArea2dPrivate::GeometryPtr)'

72 | void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}

  |         ^~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:33: note: no known conversion for argument 1 from 'std::unique_ptr' to 'OssimPolyArea2dPrivate::GeometryPtr' {aka 'geos::geom::Geometry*'}

72 | void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}

  |                     ~~~~~~~~~~~~^~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp: In member function 'const ossimPolyArea2d& ossimPolyArea2d::operator+=(const ossimPolyArea2d&)':

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:544:70: error: no matching function for call to 'OssimPolyArea2dPrivate::setGeometry(std::unique_ptr)'

544 | rhs.m_privateData->m_geometry));

  |                                                                      ^

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:99:6: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(const ossimPolygon&, const std::vector&)'

99 | void OssimPolyArea2dPrivate::setGeometry(

  |      ^~~~~~~~~~~~~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:100:24: note: no known conversion for argument 1 from 'std::unique_ptr' to 'const ossimPolygon&'

100 | const ossimPolygon& exteriorRing, const vector& interiorRings)

  |    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:9: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(OssimPolyArea2dPrivate::GeometryPtr)'

72 | void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}

  |         ^~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:33: note: no known conversion for argument 1 from 'std::unique_ptr' to 'OssimPolyArea2dPrivate::GeometryPtr' {aka 'geos::geom::Geometry*'}

72 | void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}

  |                     ~~~~~~~~~~~~^~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp: In member function 'const ossimPolyArea2d& ossimPolyArea2d::operator-=(const ossimPolyArea2d&)':

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:569:70: error: no matching function for call to 'OssimPolyArea2dPrivate::setGeometry(std::unique_ptr)'

569 | rhs.m_privateData->m_geometry));

  |                                                                      ^

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:99:6: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(const ossimPolygon&, const std::vector&)'

99 | void OssimPolyArea2dPrivate::setGeometry(

  |      ^~~~~~~~~~~~~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:100:24: note: no known conversion for argument 1 from 'std::unique_ptr' to 'const ossimPolygon&'

100 | const ossimPolygon& exteriorRing, const vector& interiorRings)

  |    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:9: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(OssimPolyArea2dPrivate::GeometryPtr)'

72 | void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}

  |         ^~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:33: note: no known conversion for argument 1 from 'std::unique_ptr' to 'OssimPolyArea2dPrivate::GeometryPtr' {aka 'geos::geom::Geometry*'}

72 | void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}

  |                     ~~~~~~~~~~~~^~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp: In member function 'void ossimPolyArea2d::add(const ossimPolyArea2d&)':

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:595:68: error: cannot convert 'std::unique_ptr' to 'geos::geom::Geometry*' in initialization

595 | geos::geom::Geometry* geom = m_privateData->m_geometry->Union(rhs.m_privateData->m_geometry);

  |                                    ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~

  |                                                                    |

  |                                                                    std::unique_ptr<geos::geom::Geometry>

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp: In member function 'ossimPolyArea2d& ossimPolyArea2d::toMultiPolygon()':

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:776:67: error: no matching function for call to 'std::vector<geos::geom::Geometry*>::push_back(std::unique_ptr)'

776 | values.push_back(m_privateData->m_geometry->clone());

  |                                                                   ^

In file included from /usr/include/c++/9/vector:67,

             from /build/ossim-2.9.1/include/ossim/base/ossimString.h:18,

             from /build/ossim-2.9.1/include/ossim/base/ossimCommon.h:25,

             from /build/ossim-2.9.1/include/ossim/base/ossimDpt.h:20,

             from /build/ossim-2.9.1/include/ossim/base/ossimPolyArea2d.h:12,

             from /build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:7:

/usr/include/c++/9/bits/stl_vector.h:1184:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(const value_type&) [with _Tp = geos::geom::Geometry; _Alloc = std::allocator<geos::geom::Geometry>; std::vector<_Tp, _Alloc>::value_type = geos::geom::Geometry*]'

1184 | push_back(const value_type& __x)

  |       ^~~~~~~~~

/usr/include/c++/9/bits/stl_vector.h:1184:35: note: no known conversion for argument 1 from 'std::unique_ptr' to 'geos::geom::Geometry* const&'

1184 | push_back(const value_type& __x)

  |                 ~~~~~~~~~~~~~~~~~~^~~

/usr/include/c++/9/bits/stl_vector.h:1200:7: note: candidate: 'void std::vector<_Tp, _Alloc>::push_back(std::vector<_Tp, _Alloc>::value_type&&) [with _Tp = geos::geom::Geometry; _Alloc = std::allocator<geos::geom::Geometry>; std::vector<_Tp, _Alloc>::value_type = geos::geom::Geometry*]'

1200 | push_back(value_type&& __x)

  |       ^~~~~~~~~

/usr/include/c++/9/bits/stl_vector.h:1200:30: note: no known conversion for argument 1 from 'std::unique_ptr' to 'geos::geom::Geometry*&&'

1200 | push_back(value_type&& __x)

  |                 ~~~~~~~~~~~~~^~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:778:109: error: no matching function for call to 'geos::geom::GeometryFactory::createMultiPolygon(std::vector<geos::geom::Geometry*>&) const'

778 | m_privateData->setGeometry(m_privateData->m_geometry->getFactory()->createMultiPolygon(values));

  |                                                                                                             ^

In file included from /build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:16:

/usr/include/geos/geom/GeometryFactory.h:213:35: note: candidate: 'std::unique_ptr geos::geom::GeometryFactory::createMultiPolygon() const'

213 | std::unique_ptr createMultiPolygon() const;

  |                                   ^~~~~~~~~~~~~~~~~~

/usr/include/geos/geom/GeometryFactory.h:213:35: note: candidate expects 0 arguments, 1 provided

/usr/include/geos/geom/GeometryFactory.h:216:19: note: candidate: 'geos::geom::MultiPolygon geos::geom::GeometryFactory::createMultiPolygon(std::vector<geos::geom::Geometry>*) const'

216 | MultiPolygon createMultiPolygon(std::vector<Geometry>* newPolys) const;

  |                   ^~~~~~~~~~~~~~~~~~

/usr/include/geos/geom/GeometryFactory.h:216:62: note: no known conversion for argument 1 from 'std::vector<geos::geom::Geometry>' to 'std::vector<geos::geom::Geometry>*'

216 | MultiPolygon createMultiPolygon(std::vector<Geometry>* newPolys) const;

  |                                      ~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~

/usr/include/geos/geom/GeometryFactory.h:219:19: note: candidate: 'geos::geom::MultiPolygon geos::geom::GeometryFactory::createMultiPolygon(const std::vector<const geos::geom::Geometry>&) const'

219 | MultiPolygon* createMultiPolygon(

  |                   ^~~~~~~~~~~~~~~~~~

/usr/include/geos/geom/GeometryFactory.h:220:45: note: no known conversion for argument 1 from 'std::vector<geos::geom::Geometry>' to 'const std::vector<const geos::geom::Geometry>&'

220 | const std::vector<const Geometry*>& fromPolys) const;

  |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~

/usr/include/geos/geom/GeometryFactory.h:222:35: note: candidate: 'std::unique_ptr geos::geom::GeometryFactory::createMultiPolygon(std::vector<std::unique_ptr >&&) const'

222 | std::unique_ptr createMultiPolygon(

  |                                   ^~~~~~~~~~~~~~~~~~

/usr/include/geos/geom/GeometryFactory.h:223:50: note: no known conversion for argument 1 from 'std::vector<geos::geom::Geometry*>' to 'std::vector<std::unique_ptr >&&'

223 | std::vector<std::unique_ptr> && fromPolys) const;

  |         ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~

/usr/include/geos/geom/GeometryFactory.h:225:35: note: candidate: 'std::unique_ptr geos::geom::GeometryFactory::createMultiPolygon(std::vector<std::unique_ptr >&&) const'

225 | std::unique_ptr createMultiPolygon(

  |                                   ^~~~~~~~~~~~~~~~~~

/usr/include/geos/geom/GeometryFactory.h:226:55: note: no known conversion for argument 1 from 'std::vector<geos::geom::Geometry*>' to 'std::vector<std::unique_ptr >&&'

226 | std::vector<std::unique_ptr> && fromPolys) const;

  |             ~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~~^~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp: In member function 'bool ossimPolyArea2d::loadState(const ossimKeywordlist&, const char*)':

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:848:64: error: no matching function for call to 'OssimPolyArea2dPrivate::setGeometry(std::unique_ptr)'

848 | m_privateData->setGeometry(reader.read(wkt.c_str()));

  |                                                                ^

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:99:6: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(const ossimPolygon&, const std::vector&)'

99 | void OssimPolyArea2dPrivate::setGeometry(

  |      ^~~~~~~~~~~~~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:100:24: note: no known conversion for argument 1 from 'std::unique_ptr' to 'const ossimPolygon&'

100 | const ossimPolygon& exteriorRing, const vector& interiorRings)

  |    ~~~~~~~~~~~~~~~~~~~~^~~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:9: note: candidate: 'void OssimPolyArea2dPrivate::setGeometry(OssimPolyArea2dPrivate::GeometryPtr)'

72 | void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}

  |         ^~~~~~~~~~~

/build/ossim-2.9.1/src/base/ossimPolyArea2d.cpp:72:33: note: no known conversion for argument 1 from 'std::unique_ptr' to 'OssimPolyArea2dPrivate::GeometryPtr' {aka 'geos::geom::Geometry*'}

72 | void setGeometry(GeometryPtr geom){deleteGeometry();m_geometry=geom;}

  |                     ~~~~~~~~~~~~^~~~

— You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_ossimlabs_ossim_issues_243-3Femail-5Fsource-3Dnotifications-26email-5Ftoken-3DAARP3PY54UGZNX4F667RA7DQOM4PRA5CNFSM4JAHM4GKYY3PNVWWK3TUL52HS4DFUVEXG43VMWVGG33NNVSW45C7NFSM4HROEDGQ&d=DwMCaQ&c=qv9gmtOiXdJCj9gMlMKtaw&r=BzyMhGyh37H_SgqGvkV7fRLc9QomIT844mhp5unQZvTZnHeDQw-LDHipfoYP3rZW&m=SqtG_ZFWRVPsnWKV0hFplP81yl9lcfhYBdkTko6MFlU&s=NC2p8a5EucHgT-APCZi5X2qiX5Zmd_5LbhHwc-BpsOI&e=, or unsubscribehttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AARP3P3ZFU23FLZ7S63SOFDQOM4PRANCNFSM4JAHM4GA&d=DwMCaQ&c=qv9gmtOiXdJCj9gMlMKtaw&r=BzyMhGyh37H_SgqGvkV7fRLc9QomIT844mhp5unQZvTZnHeDQw-LDHipfoYP3rZW&m=SqtG_ZFWRVPsnWKV0hFplP81yl9lcfhYBdkTko6MFlU&s=qXucrQ_3nINLEN6RxoClX10OFz3tkq82yAEqzk6QeOw&e=.

sebastic commented 4 years ago

The ossim package in Debian needs to build with the geos package there, and that was updated to 3.8.0.

If OSSIM used the stable C API of GEOS like pretty much all other project there wouldn't be an issue, but hasn't happened despite #79.

OSSIM is a dependency of OTB, so we won't have either OSSIM nor OTB in the next Debian stable release as long as OSSIM doesn't support GEOS 3.8.0.

That fine with me, I don't use either, but is a disservice to users of OSSIM and OTB.

gpotts commented 4 years ago

I would gladly take a pull request and merge any modifications

kalxas commented 4 years ago

@gpotts @sebastic has this been fixed? I am getting the same error while trying to build for Ubuntu Bionic with geos 3.8.0

sebastic commented 4 years ago

has this been fixed?

No.

You'll need to have an old build of ossim with geos 3.7.x to satisfy the build dependencies for otb.

gpotts commented 4 years ago

Hello:

Because this is in my own time I am slowly porting the class over to us the C-API version of geos.

Take care

Garrett

From: Angelos Tzotsos notifications@github.com Reply-To: ossimlabs/ossim reply@reply.github.com Date: Monday, October 28, 2019 at 11:06 AM To: ossimlabs/ossim ossim@noreply.github.com Cc: "Potts, Garrett" Garrett.Potts@maxar.com, Mention mention@noreply.github.com Subject: Re: [ossimlabs/ossim] Fails to build with GEOS 3.8.0 (error: no matching function for call to 'OssimPolyArea2dPrivate::setGeometry(std::unique_ptr)') (#243)

CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.

@gpottshttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_gpotts&d=DwMCaQ&c=qv9gmtOiXdJCj9gMlMKtaw&r=BzyMhGyh37H_SgqGvkV7fRLc9QomIT844mhp5unQZvTZnHeDQw-LDHipfoYP3rZW&m=Uemm1Yq1K_YrhVDZz91yd-phOpUq04S8yetRGqysl78&s=kgEd334BotlvxTNnHOOfFJ2Ox_8iRHINz_byz3DNUR8&e= @sebastichttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_sebastic&d=DwMCaQ&c=qv9gmtOiXdJCj9gMlMKtaw&r=BzyMhGyh37H_SgqGvkV7fRLc9QomIT844mhp5unQZvTZnHeDQw-LDHipfoYP3rZW&m=Uemm1Yq1K_YrhVDZz91yd-phOpUq04S8yetRGqysl78&s=C3MjdURpLVW8Gzy5dUoDjTW02XieBylsRnT3bm_UFeM&e= has this been fixed? I am getting the same error while trying to build for Ubuntu Bionic with geos 3.8.0

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_ossimlabs_ossim_issues_243-3Femail-5Fsource-3Dnotifications-26email-5Ftoken-3DAARP3P2UDJCGIH3SKI3ZTDLQQ35WZA5CNFSM4JAHM4GKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECNGQ6I-23issuecomment-2D546990201&d=DwMCaQ&c=qv9gmtOiXdJCj9gMlMKtaw&r=BzyMhGyh37H_SgqGvkV7fRLc9QomIT844mhp5unQZvTZnHeDQw-LDHipfoYP3rZW&m=Uemm1Yq1K_YrhVDZz91yd-phOpUq04S8yetRGqysl78&s=W3WAb30d0SAuigFF9upvPyIXyC8qo9hUtRAGqlyUkL4&e=, or unsubscribehttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AARP3P5H3ZFI6FPR6KKRCGTQQ35WZANCNFSM4JAHM4GA&d=DwMCaQ&c=qv9gmtOiXdJCj9gMlMKtaw&r=BzyMhGyh37H_SgqGvkV7fRLc9QomIT844mhp5unQZvTZnHeDQw-LDHipfoYP3rZW&m=Uemm1Yq1K_YrhVDZz91yd-phOpUq04S8yetRGqysl78&s=kj-TuX3Dc92druEQMpZsxvvE9hWGHKDjb_Id_54_8MI&e=.

lbartoletti commented 4 years ago

Same problem on FreeBSD: http://package18.nyi.freebsd.org/data/120amd64-default-PR238988/2019-10-22_05h46m02s/logs/errors/ossim-2.9.1.log

omarossim commented 4 years ago

Hello:

It will be the same for any os. They changed the C++ API and return types in 3.8. Almost done getting the code ported to use the C-API. Probably another day or so.

Take care

Garrett

On Oct 29, 2019, at 4:47 PM, lbartoletti notifications@github.com wrote:

Same problem on FreeBSD: http://package18.nyi.freebsd.org/data/120amd64-default-PR238988/2019-10-22_05h46m02s/logs/errors/ossim-2.9.1.log http://package18.nyi.freebsd.org/data/120amd64-default-PR238988/2019-10-22_05h46m02s/logs/errors/ossim-2.9.1.log — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ossimlabs/ossim/issues/243?email_source=notifications&email_token=ABVG7SUMPWA5CPK7LZDCYIDQRCONHA5CNFSM4JAHM4GKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECSA2HA#issuecomment-547622172, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABVG7SV3MGGJILFDQ5TY2DDQRCONHANCNFSM4JAHM4GA.

omarossim commented 4 years ago

Hello All:

I have made modifications to use the geos_c api and we now build using the goes 2.8.X libraries.

Take care

Garrett

On Oct 29, 2019, at 4:47 PM, lbartoletti notifications@github.com wrote:

Same problem on FreeBSD: http://package18.nyi.freebsd.org/data/120amd64-default-PR238988/2019-10-22_05h46m02s/logs/errors/ossim-2.9.1.log http://package18.nyi.freebsd.org/data/120amd64-default-PR238988/2019-10-22_05h46m02s/logs/errors/ossim-2.9.1.log — You are receiving this because you are subscribed to this thread. Reply to this email directly, view it on GitHub https://github.com/ossimlabs/ossim/issues/243?email_source=notifications&email_token=ABVG7SUMPWA5CPK7LZDCYIDQRCONHA5CNFSM4JAHM4GKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECSA2HA#issuecomment-547622172, or unsubscribe https://github.com/notifications/unsubscribe-auth/ABVG7SV3MGGJILFDQ5TY2DDQRCONHANCNFSM4JAHM4GA.

sebastic commented 4 years ago

Both cherry-picking commit c456397821cf369af4d9ff1fb60a5dfd1bcefc24 on top of 2.9.1 and building the dev branch fail with:

/build/ossim-2.9.1/src/init/ossimInit.cpp: In function 'void geosNoticeFunction(const char*, ...)':
/build/ossim-2.9.1/src/init/ossimInit.cpp:103:4: error: 'va_start' was not declared in this scope
  103 |    va_start(args, fmt);
      |    ^~~~~~~~
/build/ossim-2.9.1/src/init/ossimInit.cpp:105:4: error: 'va_end' was not declared in this scope
  105 |    va_end(args);
      |    ^~~~~~
/build/ossim-2.9.1/src/init/ossimInit.cpp: In function 'void geosErrorFunction(const char*, ...)':
/build/ossim-2.9.1/src/init/ossimInit.cpp:114:4: error: 'va_start' was not declared in this scope
  114 |    va_start(args, fmt);
      |    ^~~~~~~~
/build/ossim-2.9.1/src/init/ossimInit.cpp:116:4: error: 'va_end' was not declared in this scope
  116 |    va_end(args);
      |    ^~~~~~
gpotts commented 4 years ago

Hello:

Try the dev branch now. I think I forgot to add the missing headers to the init. I think my environment had them indirectly included.

Take care

Garrett

From: Bas Couwenberg notifications@github.com Reply-To: ossimlabs/ossim reply@reply.github.com Date: Thursday, October 31, 2019 at 12:35 AM To: ossimlabs/ossim ossim@noreply.github.com Cc: "Potts, Garrett" Garrett.Potts@maxar.com, Mention mention@noreply.github.com Subject: Re: [ossimlabs/ossim] Fails to build with GEOS 3.8.0 (error: no matching function for call to 'OssimPolyArea2dPrivate::setGeometry(std::unique_ptr)') (#243)

CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.

Both cherry-picking commit c456397https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_ossimlabs_ossim_commit_c456397821cf369af4d9ff1fb60a5dfd1bcefc24&d=DwMCaQ&c=qv9gmtOiXdJCj9gMlMKtaw&r=BzyMhGyh37H_SgqGvkV7fRLc9QomIT844mhp5unQZvTZnHeDQw-LDHipfoYP3rZW&m=piu7J1Cl4XVaqeBN54C9xEL6UVOm0F9xL3JajmvGgmg&s=43KcMCSxDNzXwzFcY76Wrq-R13sVX_DIZVRXDZ366PY&e= on top of 2.9.1 and building the dev branch fail with:

/build/ossim-2.9.1/src/init/ossimInit.cpp: In function 'void geosNoticeFunction(const char*, ...)':

/build/ossim-2.9.1/src/init/ossimInit.cpp:103:4: error: 'va_start' was not declared in this scope

103 | va_start(args, fmt);

  |    ^~~~~~~~

/build/ossim-2.9.1/src/init/ossimInit.cpp:105:4: error: 'va_end' was not declared in this scope

105 | va_end(args);

  |    ^~~~~~

/build/ossim-2.9.1/src/init/ossimInit.cpp: In function 'void geosErrorFunction(const char*, ...)':

/build/ossim-2.9.1/src/init/ossimInit.cpp:114:4: error: 'va_start' was not declared in this scope

114 | va_start(args, fmt);

  |    ^~~~~~~~

/build/ossim-2.9.1/src/init/ossimInit.cpp:116:4: error: 'va_end' was not declared in this scope

116 | va_end(args);

  |    ^~~~~~

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_ossimlabs_ossim_issues_243-3Femail-5Fsource-3Dnotifications-26email-5Ftoken-3DAARP3P5RIBG6QDLRE37G3O3QRJOBRA5CNFSM4JAHM4GKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECWREYQ-23issuecomment-2D548213346&d=DwMCaQ&c=qv9gmtOiXdJCj9gMlMKtaw&r=BzyMhGyh37H_SgqGvkV7fRLc9QomIT844mhp5unQZvTZnHeDQw-LDHipfoYP3rZW&m=piu7J1Cl4XVaqeBN54C9xEL6UVOm0F9xL3JajmvGgmg&s=77IF-SYnJLosb5Qmmb6nHTEr9bh6xQ6K2xPbXqEZ0sw&e=, or unsubscribehttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AARP3P4Y55XHOMWIZ2727XTQRJOBRANCNFSM4JAHM4GA&d=DwMCaQ&c=qv9gmtOiXdJCj9gMlMKtaw&r=BzyMhGyh37H_SgqGvkV7fRLc9QomIT844mhp5unQZvTZnHeDQw-LDHipfoYP3rZW&m=piu7J1Cl4XVaqeBN54C9xEL6UVOm0F9xL3JajmvGgmg&s=LYz39dvMxyTeSN28EzzQkpBMmko4r-O9okOoRx1DRqQ&e=.

gpotts commented 4 years ago

Hello:

I would do another update. There was a core dump that needed to be fixed as well. I had two locations for the initialize and one of them was not calling the geos initialize

Take care

Garrett

From: Bas Couwenberg notifications@github.com Reply-To: ossimlabs/ossim reply@reply.github.com Date: Thursday, October 31, 2019 at 12:35 AM To: ossimlabs/ossim ossim@noreply.github.com Cc: "Potts, Garrett" Garrett.Potts@maxar.com, Mention mention@noreply.github.com Subject: Re: [ossimlabs/ossim] Fails to build with GEOS 3.8.0 (error: no matching function for call to 'OssimPolyArea2dPrivate::setGeometry(std::unique_ptr)') (#243)

CAUTION: This email originated from outside of the organization. Do not click links or open attachments unless you recognize the sender and know the content is safe.

Both cherry-picking commit c456397https://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_ossimlabs_ossim_commit_c456397821cf369af4d9ff1fb60a5dfd1bcefc24&d=DwMCaQ&c=qv9gmtOiXdJCj9gMlMKtaw&r=BzyMhGyh37H_SgqGvkV7fRLc9QomIT844mhp5unQZvTZnHeDQw-LDHipfoYP3rZW&m=piu7J1Cl4XVaqeBN54C9xEL6UVOm0F9xL3JajmvGgmg&s=43KcMCSxDNzXwzFcY76Wrq-R13sVX_DIZVRXDZ366PY&e= on top of 2.9.1 and building the dev branch fail with:

/build/ossim-2.9.1/src/init/ossimInit.cpp: In function 'void geosNoticeFunction(const char*, ...)':

/build/ossim-2.9.1/src/init/ossimInit.cpp:103:4: error: 'va_start' was not declared in this scope

103 | va_start(args, fmt);

  |    ^~~~~~~~

/build/ossim-2.9.1/src/init/ossimInit.cpp:105:4: error: 'va_end' was not declared in this scope

105 | va_end(args);

  |    ^~~~~~

/build/ossim-2.9.1/src/init/ossimInit.cpp: In function 'void geosErrorFunction(const char*, ...)':

/build/ossim-2.9.1/src/init/ossimInit.cpp:114:4: error: 'va_start' was not declared in this scope

114 | va_start(args, fmt);

  |    ^~~~~~~~

/build/ossim-2.9.1/src/init/ossimInit.cpp:116:4: error: 'va_end' was not declared in this scope

116 | va_end(args);

  |    ^~~~~~

— You are receiving this because you were mentioned. Reply to this email directly, view it on GitHubhttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_ossimlabs_ossim_issues_243-3Femail-5Fsource-3Dnotifications-26email-5Ftoken-3DAARP3P5RIBG6QDLRE37G3O3QRJOBRA5CNFSM4JAHM4GKYY3PNVWWK3TUL52HS4DFVREXG43VMVBW63LNMVXHJKTDN5WW2ZLOORPWSZGOECWREYQ-23issuecomment-2D548213346&d=DwMCaQ&c=qv9gmtOiXdJCj9gMlMKtaw&r=BzyMhGyh37H_SgqGvkV7fRLc9QomIT844mhp5unQZvTZnHeDQw-LDHipfoYP3rZW&m=piu7J1Cl4XVaqeBN54C9xEL6UVOm0F9xL3JajmvGgmg&s=77IF-SYnJLosb5Qmmb6nHTEr9bh6xQ6K2xPbXqEZ0sw&e=, or unsubscribehttps://urldefense.proofpoint.com/v2/url?u=https-3A__github.com_notifications_unsubscribe-2Dauth_AARP3P4Y55XHOMWIZ2727XTQRJOBRANCNFSM4JAHM4GA&d=DwMCaQ&c=qv9gmtOiXdJCj9gMlMKtaw&r=BzyMhGyh37H_SgqGvkV7fRLc9QomIT844mhp5unQZvTZnHeDQw-LDHipfoYP3rZW&m=piu7J1Cl4XVaqeBN54C9xEL6UVOm0F9xL3JajmvGgmg&s=LYz39dvMxyTeSN28EzzQkpBMmko4r-O9okOoRx1DRqQ&e=.

sebastic commented 4 years ago

Confirmed fixed with the changes from c456397821cf369af4d9ff1fb60a5dfd1bcefc24, 0498f71e811ff3068ba491929c09aa5137ea0cca & c0d97536f9ac967941b6ca48a6a7a4dde44f4ee3.