<html><head><meta http-equiv="Content-Type" content="text/html charset=iso-8859-1"></head><body style="word-wrap: break-word; -webkit-nbsp-mode: space; -webkit-line-break: after-white-space; ">Bill,<div><br></div><div>Looks like you caught a major issue right before the dashboard did :) You have impeccable timing!</div><div><br></div><div>I looked at this. And it &nbsp;is just a case of a missing ITKCommon_Export. It's just a little tricky because you have the non-specilized declaration and definition. Then a specialized declaration. What's missing is a statement which says the method has been explicitly instantiated (this just happens to be a totally specialized version), but the statement is that same as if it'd been explicitly instantiated. This has been compiler dependent, and we use the ITKCommon_EXPORT macro for that. It's sounds like the extern keyword should to this in C++0x, but I hadn't looked at the closely.</div><div><br></div><div>I hope this help explains what's going on....</div><div><br></div><div>Brad</div><div><br></div><div><br><div><div>On Mar 15, 2013, at 10:31 PM, Bill Lorensen &lt;<a href="mailto:bill.lorensen@gmail.com">bill.lorensen@gmail.com</a>&gt; wrote:</div><br class="Apple-interchange-newline"><blockquote type="cite"><meta http-equiv="Content-Type" content="text/html; charset=iso-8859-1">There are issues with template specializations and -fvisibility=hidden. From what I read no current compilers officially support this, but most do. I guess my gcc on the MAXC does not.<div><br></div><div>I'll put a patch to gerrit that adds lines like these in Common/src/CMakeLists.txt</div>
<div><div>&nbsp; &nbsp; if(APPLE)</div><div>&nbsp; &nbsp; &nbsp; set_source_files_properties( itkArrayOutputSpecialization.cxx PROPERTIES</div><div>&nbsp; &nbsp; &nbsp; &nbsp; COMPILE_FLAGS -fvisibility=default )</div><div>&nbsp; &nbsp; endif()</div><div><br></div><div>When I do this, my gcc build is OK.</div>
<div><br></div><div>Bill</div><br><div class="gmail_quote">On Fri, Mar 15, 2013 at 7:00 PM, Bill Lorensen <span dir="ltr">&lt;<a href="mailto:bill.lorensen@gmail.com" target="_blank">bill.lorensen@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">It has to do with symbol visibility. If I do nm on the ITKCommon lib, the undefined symbols have "t" and not "T". "t" means the symbols are local. If I remove the -fvisiibility=hidden flag from ITKCommon's CMakeLists.txt file, the tests build fine.<div class="HOEnZb">
<div class="h5"><div>
<br></div><div><br><br><div class="gmail_quote">On Fri, Mar 15, 2013 at 6:49 PM, Bradley Lowekamp <span dir="ltr">&lt;<a href="mailto:blowekamp@mail.nih.gov" target="_blank">blowekamp@mail.nih.gov</a>&gt;</span> wrote:<br>

<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex"><div style="word-wrap:break-word">Bill,<div><br></div><div>Are you able to compile the release? Or is it a &nbsp;change since then?</div>

<div><br></div><div>Brad</div><div><br><div><div><div>On Mar 15, 2013, at 7:36 PM, Bill Lorensen &lt;<a href="mailto:bill.lorensen@gmail.com" target="_blank">bill.lorensen@gmail.com</a>&gt; wrote:</div><br>
</div><blockquote type="cite"><div>I see why &nbsp;those statements are there.<div><br></div><div>Still need help.<br><br><div class="gmail_quote">On Fri, Mar 15, 2013 at 4:25 PM, Bill Lorensen <span dir="ltr">&lt;<a href="mailto:bill.lorensen@gmail.com" target="_blank">bill.lorensen@gmail.com</a>&gt;</span> wrote:<br>


<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">More info. If I remove<div><div>template&lt;&gt; std::ostream &amp; operator&lt;&lt; &lt;double&gt; (std::ostream &amp; os, const Array&lt; double &gt; &amp; arr);</div>


<div>template&lt;&gt; std::ostream &amp; operator&lt;&lt; &lt;float&gt; (std::ostream &amp; os, const Array&lt; float &gt; &amp; arr);</div>
<div><br></div><div>Both my c++ and clang build fine.</div><div><br></div><div>What is the purpose of these lines?</div><span><font color="#888888"><div><br></div><div>Bill</div></font></span><div>
<br><div class="gmail_quote">On Fri, Mar 15, 2013 at 4:09 PM, Bill Lorensen <span dir="ltr">&lt;<a href="mailto:bill.lorensen@gmail.com" target="_blank">bill.lorensen@gmail.com</a>&gt;</span> wrote:<br>
<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Guys,<div><br></div><div>This is &nbsp;on my Mac using:</div><div>c++ --version</div><div><div>c++ --version</div><div>i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 (Based on Apple Inc. build 5658) (LLVM build 2336.1.00)</div>



</div>
<div><br></div><div>My clang version builds fine.</div><div><br></div><div>Any ideas?</div><div><br></div><div>Bill</div><div><div><br><br><div class="gmail_quote">On Fri, Mar 15, 2013 at 11:52 AM, Bill Lorensen <span dir="ltr">&lt;<a href="mailto:bill.lorensen@gmail.com" target="_blank">bill.lorensen@gmail.com</a>&gt;</span> wrote:<br>




<blockquote class="gmail_quote" style="margin:0 0 0 .8ex;border-left:1px #ccc solid;padding-left:1ex">Folks,<div><br></div><div>It's been a few days since itk and tried a build.</div><div><br></div><div>Today I get&nbsp;Linking CXX executable ../../../../bin/ITKCommon1TestDriver<div>




Undefined symbols for architecture x86_64:</div>
<div>&nbsp; "std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;&amp; itk::operator&lt;&lt; &lt;float&gt;(std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;&amp;, itk::Array&lt;float&gt; const&amp;)", referenced from:</div>





<div>&nbsp; &nbsp; &nbsp; void CheckVariableLengthArrayTraits&lt;itk::Array&lt;float&gt; &gt;(itk::Array&lt;float&gt;)in itkNumericTraitsTest.cxx.o</div><div>&nbsp; &nbsp; &nbsp; itkArrayTest(int, char**)in itkArrayTest.cxx.o</div><div>&nbsp; "std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;&amp; itk::operator&lt;&lt; &lt;double&gt;(std::basic_ostream&lt;char, std::char_traits&lt;char&gt; &gt;&amp;, itk::Array&lt;double&gt; const&amp;)", referenced from:</div>





<div>&nbsp; &nbsp; &nbsp; void CheckVariableLengthArrayTraits&lt;itk::Array&lt;double&gt; &gt;(itk::Array&lt;double&gt;)in itkNumericTraitsTest.cxx.o</div><div>ld: symbol(s) not found for architecture x86_64</div><div>collect2: ld returned 1 exit status</div>





<div>make[2]: *** [bin/ITKCommon1TestDriver] Error 1</div><div>make[1]: *** [Modules/Core/Common/test/CMakeFiles/ITKCommon1TestDriver.dir/all] Error 2</div><div>make: *** [all] Error 2</div><span><font color="#888888"><div>




<br></div><div>Bill</div><div>
<br></div>
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div></div><span><font color="#888888">-- <br>Unpaid intern in BillsBasement at noware dot com<br>
</font></span></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Unpaid intern in BillsBasement at noware dot com<br>
</div></div>
</blockquote></div><br><br clear="all"><div><br></div>-- <br>Unpaid intern in BillsBasement at noware dot com<br>
</div></div><div>
_______________________________________________<br>Powered by <a href="http://www.kitware.com/" target="_blank">www.kitware.com</a><br><br>Visit other Kitware open-source projects at<br><a href="http://www.kitware.com/opensource/opensource.html" target="_blank">http://www.kitware.com/opensource/opensource.html</a><br>

<br>Kitware offers ITK Training Courses, for more information visit:<br><a href="http://kitware.com/products/protraining.php" target="_blank">http://kitware.com/products/protraining.php</a><br><br>Please keep messages on-topic and check the ITK FAQ at:<br>

<a href="http://www.itk.org/Wiki/ITK_FAQ" target="_blank">http://www.itk.org/Wiki/ITK_FAQ</a><br><br>Follow this link to subscribe/unsubscribe:<br><a href="http://www.itk.org/mailman/listinfo/insight-developers" target="_blank">http://www.itk.org/mailman/listinfo/insight-developers</a><br>

</div></blockquote></div><br></div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Unpaid intern in BillsBasement at noware dot com<br>
</div>
</div></div></blockquote></div><br><br clear="all"><div><br></div>-- <br>Unpaid intern in BillsBasement at noware dot com<br>
</div>
</blockquote></div><br></div></body></html>