<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> 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 2011-05-19 06:24:52.000000000 -0500<br>+++ ../OCC651/ros/src/OSD/OSD_MAllocHook.cxx 2011-12-12 11:52:45.193338446 -060<br>0<br>@@ -14,6 +14,7 @@<br> <br> #include <set><br> #include <map><br>+#include <stdlib.h><br> <br> #ifndef SIZE_MAX<br> #define SIZE_MAX UINT_MAX<br><br>...<br><br>Otherwise, it errors out about missing atol() definition in this file.<br> <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" <jiangtao_ma@yahoo.com><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> 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 2011-12-12 05:14:53 UTC (rev 5256)<br>+++ cgm/trunk/geom/OCC/occ_patches_6.5.1 2011-12-12 15:47:39 UTC (rev 5257)<br>@@ -92,3 +92,30 @@<br> if ((myuinf-U) <= mytolu && (U-myusup) <= mytolu &&<br> (myvinf-V) <= mytolv && (V-myvsup) <= mytolv) {<br> <br>+--- TopOpeBRep_EdgesIntersector_1.cxx 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>+ staB = staINON;<br>+ staA = staINON;<br>+ }<br>+- else // Middle/Middle is impossible<br>+- Standard_Failure::Raise("TopOpeBRep_EdgesIntersector : Situation Unknown MM");<br>++ //else // Middle/Middle is impossible<br>++ // Standard_Failure::Raise("TopOpeBRep_EdgesIntersector : Situation Unknown MM");<br>+ }<br>+ else { // posother = Head or End<br>+ Standard_Boolean opposite = IsOpposite1();<br>+@@ -258,9 +258,9 @@<br>+ staB = TopAbs_OUT;<br>+ staA = staINON;<br>+ }<br>+- else { // Middle is impossible<br>+- Standard_Failure::Raise("TopOpeBRep_EdgesIntersector : Situation Unknown M");<br>+- }<br>++ //else { // Middle is impossible<br>++ //Standard_Failure::Raise("TopOpeBRep_EdgesIntersector : Situation Unknown M");<br>++ //}<br>+ } // point is not a segment point<br>+<br>+ } // 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>