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.

I'll put a patch to gerrit that adds lines like these in
Common/src/CMakeLists.txt
    if(APPLE)
      set_source_files_properties( itkArrayOutputSpecialization.cxx
PROPERTIES
        COMPILE_FLAGS -fvisibility=default )
    endif()

When I do this, my gcc build is OK.

Bill

On Fri, Mar 15, 2013 at 7:00 PM, Bill Lorensen <[email protected]>wrote:

> 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.
>
>
>
> On Fri, Mar 15, 2013 at 6:49 PM, Bradley Lowekamp 
> <[email protected]>wrote:
>
>> Bill,
>>
>> Are you able to compile the release? Or is it a  change since then?
>>
>> Brad
>>
>> On Mar 15, 2013, at 7:36 PM, Bill Lorensen <[email protected]>
>> wrote:
>>
>> I see why  those statements are there.
>>
>> Still need help.
>>
>> On Fri, Mar 15, 2013 at 4:25 PM, Bill Lorensen 
>> <[email protected]>wrote:
>>
>>> More info. If I remove
>>> template<> std::ostream & operator<< <double> (std::ostream & os, const
>>> Array< double > & arr);
>>> template<> std::ostream & operator<< <float> (std::ostream & os, const
>>> Array< float > & arr);
>>>
>>> Both my c++ and clang build fine.
>>>
>>> What is the purpose of these lines?
>>>
>>> Bill
>>>
>>> On Fri, Mar 15, 2013 at 4:09 PM, Bill Lorensen 
>>> <[email protected]>wrote:
>>>
>>>> Guys,
>>>>
>>>> This is  on my Mac using:
>>>> c++ --version
>>>> c++ --version
>>>> i686-apple-darwin11-llvm-g++-4.2 (GCC) 4.2.1 (Based on Apple Inc. build
>>>> 5658) (LLVM build 2336.1.00)
>>>>
>>>> My clang version builds fine.
>>>>
>>>> Any ideas?
>>>>
>>>> Bill
>>>>
>>>>
>>>> On Fri, Mar 15, 2013 at 11:52 AM, Bill Lorensen <
>>>> [email protected]> wrote:
>>>>
>>>>> Folks,
>>>>>
>>>>> It's been a few days since itk and tried a build.
>>>>>
>>>>> Today I get Linking CXX executable ../../../../bin/ITKCommon1TestDriver
>>>>> Undefined symbols for architecture x86_64:
>>>>>   "std::basic_ostream<char, std::char_traits<char> >& itk::operator<<
>>>>> <float>(std::basic_ostream<char, std::char_traits<char> >&,
>>>>> itk::Array<float> const&)", referenced from:
>>>>>       void CheckVariableLengthArrayTraits<itk::Array<float>
>>>>> >(itk::Array<float>)in itkNumericTraitsTest.cxx.o
>>>>>       itkArrayTest(int, char**)in itkArrayTest.cxx.o
>>>>>   "std::basic_ostream<char, std::char_traits<char> >& itk::operator<<
>>>>> <double>(std::basic_ostream<char, std::char_traits<char> >&,
>>>>> itk::Array<double> const&)", referenced from:
>>>>>       void CheckVariableLengthArrayTraits<itk::Array<double>
>>>>> >(itk::Array<double>)in itkNumericTraitsTest.cxx.o
>>>>> ld: symbol(s) not found for architecture x86_64
>>>>> collect2: ld returned 1 exit status
>>>>> make[2]: *** [bin/ITKCommon1TestDriver] Error 1
>>>>> make[1]: ***
>>>>> [Modules/Core/Common/test/CMakeFiles/ITKCommon1TestDriver.dir/all] Error 2
>>>>> make: *** [all] Error 2
>>>>>
>>>>> Bill
>>>>>
>>>>>
>>>>
>>>>
>>>> --
>>>> Unpaid intern in BillsBasement at noware dot com
>>>>
>>>
>>>
>>>
>>> --
>>> Unpaid intern in BillsBasement at noware dot com
>>>
>>
>>
>>
>> --
>> Unpaid intern in BillsBasement at noware dot com
>>  _______________________________________________
>> Powered by www.kitware.com
>>
>> Visit other Kitware open-source projects at
>> http://www.kitware.com/opensource/opensource.html
>>
>> Kitware offers ITK Training Courses, for more information visit:
>> http://kitware.com/products/protraining.php
>>
>> Please keep messages on-topic and check the ITK FAQ at:
>> http://www.itk.org/Wiki/ITK_FAQ
>>
>> Follow this link to subscribe/unsubscribe:
>> http://www.itk.org/mailman/listinfo/insight-developers
>>
>>
>>
>
>
> --
> Unpaid intern in BillsBasement at noware dot com
>



-- 
Unpaid intern in BillsBasement at noware dot com
_______________________________________________
Powered by www.kitware.com

Visit other Kitware open-source projects at
http://www.kitware.com/opensource/opensource.html

Kitware offers ITK Training Courses, for more information visit:
http://kitware.com/products/protraining.php

Please keep messages on-topic and check the ITK FAQ at:
http://www.itk.org/Wiki/ITK_FAQ

Follow this link to subscribe/unsubscribe:
http://www.itk.org/mailman/listinfo/insight-developers

Reply via email to