<html><head><style type='text/css'>p { margin: 0; }</style></head><body><div style='font-family: Times New Roman; font-size: 12pt; color: #000000'>Hi Jane,<br>I was trying to build occ 6.5.1 on mcs network, but I had to modify the file <br>src/OSD/OSD_MAllocHook.cxx<br>&nbsp;according to this patch:<br><br>diff -urp ros/src/OSD/OSD_MAllocHook.cxx ../OCC651/ros/src/OSD/OSD_MAllocHook.cxx<br>--- ros/src/OSD/OSD_MAllocHook.cxx&nbsp;&nbsp;&nbsp; 2011-05-19 06:24:52.000000000 -0500<br>+++ ../OCC651/ros/src/OSD/OSD_MAllocHook.cxx&nbsp;&nbsp;&nbsp; 2011-12-12 11:52:45.193338446 -060<br>0<br>@@ -14,6 +14,7 @@<br>&nbsp;<br>&nbsp;#include &lt;set&gt;<br>&nbsp;#include &lt;map&gt;<br>+#include &lt;stdlib.h&gt;<br>&nbsp;<br>&nbsp;#ifndef SIZE_MAX<br>&nbsp;#define SIZE_MAX UINT_MAX<br><br>...<br><br>Otherwise, it errors out about missing atol() definition in this file.<br>&nbsp;<br>What compilers are you using ? <br>I configured with this command:<br><br>./configure --enable-shared --enable-static --with-gl=/usr --with-xmu=/usr --with-<br>tcl=/usr/lib --with-tk=/usr/lib --disable-debug --enable-production --prefix=/home<br>s/fathom/3rdparty/occ/OpenCASCADE6.5.1/gcc CXXFLAGS=-I/homes/fathom/3rdparty/FTGL/<br>lib/include/FTGL --with-ftgl=/homes/fathom/3rdparty/FTGL/lib --with-freetype=/home<br>s/fathom/3rdparty/freetype-2.3.7/lib<br><br><br>Thanks,<br>Iulian<br><br><hr id="zwchr"><b>From: </b>"jiangtao ma" &lt;jiangtao_ma@yahoo.com&gt;<br><b>To: </b>cgma-dev@mcs.anl.gov<br><b>Sent: </b>Monday, December 12, 2011 9:47:41 AM<br><b>Subject: </b>[cgma-dev] r5257 - cgm/trunk/geom/OCC<br><br>Author: janehu<br>Date: 2011-12-12 09:47:39 -0600 (Mon, 12 Dec 2011)<br>New Revision: 5257<br><br>Modified:<br>&nbsp;&nbsp; cgm/trunk/geom/OCC/occ_patches_6.5.1<br>Log:<br>Temporally fixed the mcnp2cad/INP-complement case, it's been there for quitely a long time that whenever it detected a curve curve intersection at middle point, it came out with a crash for finding next intersection of the intersect function in OCC, the code there said it's impossible, but it quite often happen. I know this might not be a best fix, but by not crash out and allow the flow going on, it returns the next intersection if it indicates so, will file a bug report, don't know if they will accept since it's an internal process, no UI command corresponding to this function.<br><br>Modified: cgm/trunk/geom/OCC/occ_patches_6.5.1<br>===================================================================<br>--- cgm/trunk/geom/OCC/occ_patches_6.5.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2011-12-12 05:14:53 UTC (rev 5256)<br>+++ cgm/trunk/geom/OCC/occ_patches_6.5.1&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;&nbsp;2011-12-12 15:47:39 UTC (rev 5257)<br>@@ -92,3 +92,30 @@<br>&nbsp;&nbsp; &nbsp;if ((myuinf-U) &lt;= mytolu &amp;&amp; (U-myusup) &lt;= mytolu &amp;&amp;<br>&nbsp;&nbsp; &nbsp; &nbsp; &nbsp;(myvinf-V) &lt;= mytolv &amp;&amp; (V-myvsup) &lt;= mytolv) {<br>&nbsp;<br>+--- TopOpeBRep_EdgesIntersector_1.cxx &nbsp; 2011-12-07 12:06:45.000000000 -0600<br>++++ ../src/TopOpeBRep/TopOpeBRep_EdgesIntersector_1.cxx 2011-12-07 12:15:44.000000000 -0600<br>+@@ -215,8 +215,8 @@<br>+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;staB = staINON;<br>+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;staA = staINON;<br>+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;}<br>+- &nbsp; &nbsp; &nbsp; &nbsp; else // Middle/Middle is impossible<br>+- &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; Standard_Failure::Raise("TopOpeBRep_EdgesIntersector : Situation Unknown MM");<br>++ &nbsp; &nbsp; &nbsp; &nbsp; //else // Middle/Middle is impossible<br>++ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;// Standard_Failure::Raise("TopOpeBRep_EdgesIntersector : Situation Unknown MM");<br>+ &nbsp; &nbsp; &nbsp; &nbsp;}<br>+ &nbsp; &nbsp; &nbsp; &nbsp;else { // posother = Head or End<br>+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;Standard_Boolean opposite = IsOpposite1();<br>+@@ -258,9 +258,9 @@<br>+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;staB = TopAbs_OUT;<br>+ &nbsp; &nbsp; &nbsp; &nbsp; &nbsp;staA = staINON;<br>+ &nbsp; &nbsp; &nbsp; &nbsp;}<br>+- &nbsp; &nbsp; &nbsp; else { &nbsp;// Middle is impossible<br>+- &nbsp; &nbsp; &nbsp; &nbsp; Standard_Failure::Raise("TopOpeBRep_EdgesIntersector : Situation Unknown M");<br>+- &nbsp; &nbsp; &nbsp; }<br>++ &nbsp; &nbsp; &nbsp; //else { &nbsp;// Middle is impossible<br>++ &nbsp; &nbsp; &nbsp; &nbsp; //Standard_Failure::Raise("TopOpeBRep_EdgesIntersector : Situation Unknown M");<br>++ &nbsp; &nbsp; &nbsp; //}<br>+ &nbsp; &nbsp; &nbsp; } // point is not a segment point<br>+<br>+ &nbsp; &nbsp; } // T.Situation == IntRes2d_Unknown<br>+<br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br><br></div></body></html>