<div dir="ltr">Hello Asa,<div><br></div><div>Thank you for the reports. I ticketed the assertion failure issue at: <a href="https://trac.osgeo.org/geos/ticket/1002">https://trac.osgeo.org/geos/ticket/1002</a></div><div><br></div><div>I'm not sure why the CMake version check for MSVC needs to be a fatal error, since we're not using any features from CMake > 3.8. Does anyone object to changing this?</div><div><br></div><div>Dan</div><div><br></div></div><br><div class="gmail_quote"><div dir="ltr" class="gmail_attr">On Mon, Oct 21, 2019 at 3:14 PM Asa Packer <<a href="mailto:APacker@biosonicsinc.com">APacker@biosonicsinc.com</a>> wrote:<br></div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">





<div lang="EN-US">
<div class="gmail-m_4313905844877912698WordSection1">
<p class="MsoNormal">Hi,<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">I just started working with version 3.8.0, trying to build it on Windows.  I ran into two issues:<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<ol style="margin-top:0in" start="1" type="1">
<li class="gmail-m_4313905844877912698MsoListParagraph" style="margin-left:0in">Out of the box I can’t build geos 3.8.0 with a fully-updated Visual Studio 2017, because geos wants cmake 3.13 and VS2017 only has 3.12.  If I change line 22 of the top-level CMakeLists.txt
 to require only 3.12, then I can build fine in Release mode, either 32 or 64 bit, and ctest shows no failures.<u></u><u></u></li><li class="gmail-m_4313905844877912698MsoListParagraph" style="margin-left:0in">If I build in Debug mode, with either VS2017 or VS2019, I get tons of assertion failures when I do ctest.  They all come from line 115 of MonotoneChainBuilder.cpp, which on the last
 time through the loop causes an access of an element one past the end of a std::vector.  Even if I ignore the assertion failures, the tests show as fails because the C runtime considers these to be fatal errors.<u></u><u></u></li></ol>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Below is a patch that fixes these issues.  Are these reasonable workarounds?<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Thanks!<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Asa<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal">Index: geos-3.8.0/CMakeLists.txt<u></u><u></u></p>
<p class="MsoNormal">===================================================================<u></u><u></u></p>
<p class="MsoNormal">--- geos-3.8.0/CMakeLists.txt<u></u><u></u></p>
<p class="MsoNormal">+++ geos-3.8.0/CMakeLists.tt<u></u><u></u></p>
<p class="MsoNormal">@@ -19,7 +19,7 @@<u></u><u></u></p>
<p class="MsoNormal"># Require CMake 3.13+ with VS generator for complete support of VS versions<u></u><u></u></p>
<p class="MsoNormal"># and support by AppVeyor.<u></u><u></u></p>
<p class="MsoNormal">if(${CMAKE_GENERATOR} MATCHES "Visual Studio")<u></u><u></u></p>
<p class="MsoNormal">-  cmake_minimum_required(VERSION 3.13 FATAL_ERROR)<u></u><u></u></p>
<p class="MsoNormal">+  cmake_minimum_required(VERSION 3.12 FATAL_ERROR)<u></u><u></u></p>
<p class="MsoNormal">endif()<u></u><u></u></p>
<p class="MsoNormal"><u></u><u></u></p>
<p class="MsoNormal"> list(APPEND CMAKE_MODULE_PATH "${CMAKE_SOURCE_DIR}/cmake")<u></u><u></u></p>
<p class="MsoNormal">Index: geos-3.8.0/src/index/chain/MonotoneChainBuilder.cpp<u></u><u></u></p>
<p class="MsoNormal">===================================================================<u></u><u></u></p>
<p class="MsoNormal">--- geos-3.8.0/src/index/chain/MonotoneChainBuilder.cpp<u></u><u></u></p>
<p class="MsoNormal">+++ geos-3.8.0/src/index/chain/MonotoneChainBuilder.cpp<u></u><u></u></p>
<p class="MsoNormal">@@ -111,8 +111,10 @@<u></u><u></u></p>
<p class="MsoNormal">             }<u></u><u></u></p>
<p class="MsoNormal">         }<u></u><u></u></p>
<p class="MsoNormal">         ++last;<u></u><u></u></p>
<p class="MsoNormal">-        prev = curr;<u></u><u></u></p>
<p class="MsoNormal">-        curr = &pts[last];<u></u><u></u></p>
<p class="MsoNormal">+        if (last < npts) {<u></u><u></u></p>
<p class="MsoNormal">+            prev = curr;<u></u><u></u></p>
<p class="MsoNormal">+            curr = &pts[last];<u></u><u></u></p>
<p class="MsoNormal">+        }<u></u><u></u></p>
<p class="MsoNormal">     }<u></u><u></u></p>
<p class="MsoNormal">#if GEOS_DEBUG<u></u><u></u></p>
<p class="MsoNormal">     std::cerr << "MonotoneChainBuilder::findChainEnd() returning" << std::endl;<u></u><u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><u></u> <u></u></p>
<p class="MsoNormal"><b><span style="font-size:10pt;font-family:Verdana,sans-serif;color:rgb(34,94,172)">Asa Packer</span></b><span style="font-size:9pt;font-family:Verdana,sans-serif;color:rgb(34,94,172)">  </span><span style="font-size:9pt;font-family:Verdana,sans-serif;color:rgb(186,186,186)">|</span><span style="font-size:9pt;font-family:Verdana,sans-serif;color:rgb(34,94,172)"> Lead
 Systems Engineer<u></u><u></u></span></p>
<p class="MsoNormal" style="background:white"><b><span style="font-size:8.5pt;font-family:Verdana,sans-serif;color:rgb(125,125,125)"><u></u> <u></u></span></b></p>
<p class="MsoNormal" style="background:white"><b><span style="font-size:8.5pt;font-family:Verdana,sans-serif;color:rgb(125,125,125)">BioSonics, Inc.</span></b><span style="font-size:8.5pt;font-family:Verdana,sans-serif;color:rgb(125,125,125)"> <u></u><u></u></span></p>
<p class="MsoNormal" style="background:white"><span style="font-size:8.5pt;font-family:Verdana,sans-serif;color:rgb(125,125,125)">2356 W Commodore Way, Unit 110<u></u><u></u></span></p>
<p class="MsoNormal" style="background:white"><span style="font-size:8.5pt;font-family:Verdana,sans-serif;color:rgb(125,125,125)">Seattle WA 98199-1258 USA<u></u><u></u></span></p>
<p class="MsoNormal" style="margin-bottom:12pt;background:white"><b><span style="font-size:8.5pt;font-family:Verdana,sans-serif;color:rgb(70,195,210)">tel</span></b><span style="font-size:8.5pt;font-family:Verdana,sans-serif;color:rgb(125,125,125)"> 206.782.2211
</span><span style="font-size:8.5pt;font-family:Verdana,sans-serif;color:rgb(186,186,186)">|</span><span style="font-size:8.5pt;font-family:Verdana,sans-serif;color:rgb(125,125,125)"> 
</span><span style="font-size:8.5pt;font-family:Verdana,sans-serif;color:black"><a href="http://www.biosonicsinc.com/" target="_blank"><b><span style="color:rgb(70,195,210)">biosonicsinc.com</span></b></a><u></u><u></u></span></p>
<p class="MsoNormal"><u></u> <u></u></p>
</div>
</div>

_______________________________________________<br>
geos-devel mailing list<br>
<a href="mailto:geos-devel@lists.osgeo.org" target="_blank">geos-devel@lists.osgeo.org</a><br>
<a href="https://lists.osgeo.org/mailman/listinfo/geos-devel" rel="noreferrer" target="_blank">https://lists.osgeo.org/mailman/listinfo/geos-devel</a></blockquote></div>