Hi Yair, Patrick,<br><br>You&#39;ve compiled ITK just fine. This is a bug in igstkToolCalibrationReader.txx . <br><br>The correct way this file should&#39;ve included zlib is <br>&nbsp;&nbsp; #include &quot;itk_zlib.h&quot;&nbsp;&nbsp;&nbsp; or &nbsp; #include &quot;vtk_zlib.h&quot;
<br>not<br>&nbsp;&nbsp; #include &quot;zlib/zlib.h&quot;<br><br>The problem with including &quot;zlib/zlib.h&quot; is that IGSTK will fail to build <br>
1.&nbsp; against installed ITK/VTK. since they don&#39;t install the zlib.h header file in &quot;zlib/zlib.h&quot;.<br>2.&nbsp; if ITK and VTK were compiled so as to use system zlib.<br><br>HTH,<br>--<br>karthik<br><br>PS:<br>The header file itk_zlib or vtk_zlib picks the appropriate zlib library based on whether you&#39;d compiled ITK/VTK asking the libraries to pick the system zlib or the zlib provided with the library.
<br><br><br>
<div><span class="gmail_quote">On 1/17/07, <b class="gmail_sendername">Yair Yarom</b> &lt;<a href="mailto:irush@cs.huji.ac.il">irush@cs.huji.ac.il</a>&gt; wrote:</span><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<br>Hi,<br><br>Sorry if I was unclear:<br>Under debian (etch), there is no &quot;zlib/zlib.h&quot; in the standard include paths<br>(or anywhere else for that matter), as included from<br>igstkToolCalibrationReader.txx. there is only /usr/include/zlib.h, so I changed
<br>the include (back?) to &#39;#include &quot;zlib.h&quot;&#39;, and it compiles. I guess the<br>location of zlib.h should be checked by the cmake, but I&#39;m not sure (I&#39;m new at<br>this).<br><br>Later on, as described earlier, there is a conflict between 
zlib.h and the<br>ITK&#39;s zlib.h at InsightToolkit/Utilities/itkzlib/zlib.h. This is due to the<br>fact the ITK&#39;s zlib.h is an older version (1.1.4) in comparison to the debian&#39;s<br>version (1.2.3). The conflict is since one has an
<br>#ifndef _ZLIB_H<br>and the other has<br>#ifndef ZLIB_H<br>So both are included, causing the duplicate definitions. But I guess this is an<br>ITK bug (or me not knowing how to compile ITK).<br><br><br>Regards,<br>&nbsp;&nbsp;&nbsp;&nbsp;Yair.
<br><br><br><br>Luis Ibanez &lt;<a href="mailto:luis.ibanez@kitware.com">luis.ibanez@kitware.com</a>&gt; writes:<br><br>&gt; Hi Yair,<br>&gt;<br>&gt; 1) Thanks for pointing out the shift on the<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;numbering of serial port symbols.
<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;This has been entered as bug:<br>&gt;<br>&gt; <a href="http://public.kitware.com/Bug/bug.php?op=show&amp;bugid=4314&amp;pos=0">http://public.kitware.com/Bug/bug.php?op=show&amp;bugid=4314&amp;pos=0</a>
<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;and a fix for the CMakeLists.txt file has been<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;committed in CVS:<br>&gt;<br>&gt; <a href="http://public.kitware.com/cgi-bin/viewcvs.cgi/CMakeLists.txt?root=IGSTK&amp;r1=1.23&amp;r2=1.24">http://public.kitware.com/cgi-bin/viewcvs.cgi/CMakeLists.txt?root=IGSTK&amp;r1=1.23&amp;r2=1.24
</a><br>&gt;<br>&gt;<br>&gt;<br>&gt; 2) You seem to be using an old version of IGSTK.<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;The Include for &quot;zlib/zlib.h&quot; was added to<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;the igstkToolCallibrationReader.txx on June 7th<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;2006.
<br>&gt;<br>&gt; <a href="http://public.kitware.com/cgi-bin/viewcvs.cgi/Source/igstkToolCalibrationReader.txx?annotate=1.3&amp;root=IGSTK">http://public.kitware.com/cgi-bin/viewcvs.cgi/Source/igstkToolCalibrationReader.txx?annotate=1.3&amp;root=IGSTK
</a><br>&gt;<br>&gt;<br>&gt; Please use an updated version of IGSTK.<br>&gt;<br>&gt;<br>&gt; Please let us know if you find any other problems,<br>&gt;<br>&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;Regards,<br>&gt;<br>&gt;<br>&gt;&nbsp;&nbsp;&nbsp;&nbsp;Luis<br>
&gt;<br>&gt;<br>&gt;<br>&gt; ---------------------------<br>&gt; Yair Yarom wrote:<br>&gt;&gt; Hi,<br>&gt;&gt; I have several compilation errors for the cvs version on linux (debian):<br>&gt;&gt; 1. In the CMakeLists.txt, the &quot;high&quot; ports numbering is wrong (no port 4 and
<br>&gt;&gt; extra port 8), at around line 161, instead of:<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;SET(IGSTK_SERIAL_PORT_5 &quot;/dev/ttyS4&quot; CACHE STRING<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;SET(IGSTK_SERIAL_PORT_6 &quot;/dev/ttyS5&quot; CACHE STRING<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;SET(IGSTK_SERIAL_PORT_7 &quot;/dev/ttyS6&quot; CACHE STRING
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;SET(IGSTK_SERIAL_PORT_8 &quot;/dev/ttyS7&quot; CACHE STRING<br>&gt;&gt; it should be (I think):<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;SET(IGSTK_SERIAL_PORT_4 &quot;/dev/ttyS4&quot; CACHE STRING<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;SET(IGSTK_SERIAL_PORT_5 &quot;/dev/ttyS5&quot; CACHE STRING
<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;SET(IGSTK_SERIAL_PORT_6 &quot;/dev/ttyS6&quot; CACHE STRING<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp;SET(IGSTK_SERIAL_PORT_7 &quot;/dev/ttyS7&quot; CACHE STRING<br>&gt;&gt; 2. In igstkToolCalibrationReader.txx, there is no &quot;zlib/zlib.h&quot; to include,
<br>&gt;&gt; there is only &quot;zlib.h&quot;. But this fix possibly causes error 3:<br>&gt;&gt; 3. When building with testing, I get the error:<br>&gt;&gt; [ 46%] Built target IGSTK<br>&gt;&gt; [ 46%] Building CXX object Testing/CMakeFiles/igstkStateMachineExportTest.dir/igstkStateMachineExportTest.o
<br>&gt;&gt; /usr/include/zlib.h:82: error: redefinition of 'struct z_stream_s'<br>&gt;&gt; /usr/local/include/InsightToolkit/Utilities/itkzlib/zlib.h:68: error: previous definition of 'struct z_stream_s'<br>&gt;&gt; /usr/include/zlib.h:101: error: invalid type in declaration before ';' token
<br>&gt;&gt; /usr/include/zlib.h:101: error: conflicting declaration 'typedef int z_stream'<br>&gt;&gt; /usr/local/include/InsightToolkit/Utilities/itkzlib/zlib.h:87: error: 'z_stream' has a previous declaration as 'typedef struct z_stream_s z_stream'
<br>&gt;&gt; /usr/include/zlib.h:1114: error: declaration of C function 'int itk_zlib_gzwrite(void*, const void*, unsigned int)' conflicts with<br>&gt;&gt; /usr/local/include/InsightToolkit/Utilities/itkzlib/zlib.h:704: error: previous declaration 'int itk_zlib_gzwrite(void*, void*, unsigned int)' here
<br>&gt;&gt; /usr/include/zlib.h:1350: error: redefinition of 'struct internal_state'<br>&gt;&gt; /usr/local/include/InsightToolkit/Utilities/itkzlib/zlib.h:882: error: previous definition of 'struct internal_state'<br>&gt;&gt; make[2]: *** [Testing/CMakeFiles/igstkStateMachineExportTest.dir/igstkStateMachineExportTest.o] Error 1
<br>&gt;&gt; make[1]: *** [Testing/CMakeFiles/igstkStateMachineExportTest.dir/all] Error 2<br>&gt;&gt; make: *** [all] Error 2<br>&gt;&gt; Without the testings, it builds fine.<br>&gt;&gt; Thanks,<br>&gt;&gt;&nbsp;&nbsp;&nbsp;&nbsp; Yair.<br>
&gt;&gt; _______________________________________________<br>&gt;&gt; IGSTK-Users mailing list<br>&gt;&gt; <a href="mailto:IGSTK-Users@public.kitware.com">IGSTK-Users@public.kitware.com</a><br>&gt;&gt; <a href="http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-users">
http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-users</a><br>&gt;&gt;<br>_______________________________________________<br>IGSTK-Users mailing list<br><a href="mailto:IGSTK-Users@public.kitware.com">IGSTK-Users@public.kitware.com
</a><br><a href="http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-users">http://public.kitware.com/cgi-bin/mailman/listinfo/igstk-users</a><br></blockquote></div><br>